Nodejs mongoose sub поиск документов
У меня есть схема как
const propertiesSchema = new Schema({
name: {
type: String,
required: true
},
shortDescription: String,
totalArea: String,
address: {
type: mongoose.Schema.Types.ObjectId,
ref: "Address",
required: true
}
})
и схема адреса, как это
const addressSchema = new Schema({
addressLine1: {
type:String,
required:false
},
addressLine2: {
type:String,
required:false
},
city:{
type:mongoose.Schema.Types.ObjectId,
required:true,
ref:"City"
}
})
и я хочу найти город из свойств. Я использую мангуста для mongodb. а также у меня есть необязательный объект searchData, как
searchData = {
"name":"test"
"city":"5c8f7f178dec7c20f4783c0d"
}
здесь идентификатор города может быть нулевым, и мне нужно, если идентификатор города не нулевой, тогда нужно только искать город на propertiesSchema . Пожалуйста, помогите решить эту проблему. благодарю вас..
1 ответ
Как city
это вложенный объект, который вы можете запросить, как
"address.city"
Eg:
searchData = {
"name":"test"
"address.city":"5c8f7f178dec7c20f4783c0d"
}
ОБНОВИТЬ
'5c8f7f178dec7c20f4783c0d'
это строка Вы должны использовать
const mongoose = require('mongoose');
mongoose.Types.ObjectId('5c8f7f178dec7c20f4783c0d');