Mongoose schema"/>
如何查询复杂的Mongoose schema
import mongoose from "mongoose";
const hotelSchema =new mongoose.Schema({
name:{
type:String,
required:[true, "Please enter hotel name"],
trim:true
},
gst:{
type:String,
required:[true, "Please enter hotel GST"],
},
featuredHotel:{
type:String,
default:"disabled"
},
description:{
type:String,
required:[true, "Please enter hotel description"],
},
primaryContactNumber:{
type:Number,
required:[true, "Please enter primary contact number"]
},
alternateContactNumber:{
type:Number,
required:[true, "Please enter primary contact number"]
},
email:{
type:String,
required:[true, "Please enter email"]
},
address:{
buildingNo:{
type:String,
required:[true, "Please enter the building number"]
},
streetName:{
type:String,
required:[true, "Please enter the street name"]
},
area:String,
city:{
type:String,
required:[true, "Please enter the city"]
},
state:{
type:String,
required:[true, "Please enter the state"],
},
country:{
type:String,
default:"India"
},
pinCode:{
type:Number,
required:[true, "Please enter the pinCode"]
}
},
rooms:[
{
name:{
type:String,
required:[true, "Please enter the room type"]
},
cost:[{price:{
type:Number,
required:[true, "Please enter room price"],
},
type:{
type:String,
required:[true, "Please enter the price type"]
},
quantity:{
type:Number,
required:[true, "Please enter room quantity"],
},
}],
category:[{
type:String,
required:[true, "Please enter the room category"]
}],
status:{
type:String,
required:[true, "Please enter the room status"]
},
note:String
}
],
images:[
{ public_id:{
type:String,
required:true,
},
url:{
type:String,
required:true,
}}
],
hotelCategory:[{
type:String,
required:[true, "Please enter the hotel category"]
}],
amenities:[{
type:String,
required:[true, "Please enter the amenities"]
}],
hotelPolicy:[
{
type:String,
required:[true, "Please enter the hotel policy"]}
],
cancelPolicy:[
{
type:String,
required:[true, "Please enter the cancel policy"]
},
],
placesOfInterest:[
{
type:String,
},
],
ratings:{
type:Number,
default:0
},
numOfReviews:{
type:Number,
default:0
},
status:{
type:String,
default:"disabled"
},
reviews:[
{
user:{
type:mongoose.Schema.ObjectId,
ref:"User",
},
name:{
type:String,
},
rating:{
type:Number,
},
comment:{
type:String,
}
}
],
user_id:{
type:mongoose.Schema.ObjectId,
ref:"User",
},
isApproved:{
type:String,
default:"pending"
},
isDeleted:{
type:String,
default:"NA"
},
createdAt:{
type:Date,
default:Date.now
},
updatedAt:{
type:Date,
default:Date.now
}
});
export const Hotel = mongoose.model("Hotel", hotelSchema);
我需要查询上面的模式并过滤文档。
过滤场景是
- 获取地址下城市等于某个给定值的所有文档。
- 根据房间下的价格对文件进行排序。
- 获取房间下类型等于给定值的文件。
同样,我想添加其他复杂的条件。
回答如下:更多推荐
如何查询复杂的Mongoose schema
发布评论