Я хочу установить условие «Где» для присоединяемой записи при получении всех записей. Я реализовал множество решений для $ lookup, но не получил правильного решения. Вот мой nodejs код. Надежда
Схема пост-модели
const postsSchema = new mongoose.Schema({
post_title: String,
post_location: { type: mongoose.ObjectId, ref: "locations" },
});
Схема модели местоположения
const locationsSchema = new mongoose.Schema({
location_name: String,
address: String,
});
Код контроллера
var dataQuery = Posts.aggregate();
dataQuery.lookup({ from: 'locations', localField: 'post_location', foreignField: '_id', as: 'post_location' });
dataQuery.unwind("post_location");
dataQuery.exec().then(postsData => {
});
Вывод
[{
"_id": "5e8f179e2bd9f824fce3efd2",
"post_title": "Post title 1"
"post_location": {
"_id": "5e8ee8ae2bd9f824fce3e621",
"location_name": "Shimla",
"address": "Shimla, Himachal Pradesh, India",
},
}
{
"_id": "5e8f179e2bd9f824fce3efd2",
"post_title": "Post title 2"
"post_location": {
"_id": "5e8ee8ae2bd9f824fce3e621",
"location_name": "Goa",
"address": "Goa, India",
},
}]
Я хочу выполнить поиск по location_name или, address. Но не получил правильный код для реализации. Пожалуйста, помогите мне?