Users.aggregate([{ $geoNear: { near: {type: "Point" , coordinates: [lng,lat] } , distanceField: "dist.calculated" , maxDistance: 2000000 ,query: { deleted: '0' , _id: { $ne: user_result._id}}}}, { $lookup: {from: 'images' , let: { user_connected: '$_id' } , pipeline:[ {
$match: {
$expr:{
$eq: [ "$user" , "$$user_connected" ]
}
},
} ] , as: 'images'}} ,{ $skip: skip },{ $limit: perpage}]).allowDiskUse(true).exec(function (err, result) {
if(err) {
return res.status(400).json({success: 202 , message: "Database Error." , result: err});
}
if(isset(result) && !empty(result)){
return res.status(200).json({success: 200 , message: "Users Data." , result: result});
}else{
return res.status(400).json({success: 205 , message: "No Records Found." , result: []});
}
});
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
var Schema = mongoose.Schema;
var ImagesSchema = new Schema({
name: { type: String , required: true},
user: [{ type: Schema.Types.ObjectId, ref:'users' , default: '' }],
status: { type: String , default: ''} ,
expireTime: { type: Date , default: new Date()}
},
{timestamps: true})
//.index({ "createdAt": 1 }, { expireAfterSeconds: 86400 });
console.log("Create Index if collection droped")
var images = mongoose.model('images', ImagesSchema);
module.exports = images;
Я создаю конвейер для подключения пользовательской модели к модели изображений, но он не получает все изображения из модели изображений.Я подключаю свою модель пользователя к изображениям для отображения в списке пользователей, но она не работает.Кто-нибудь может мне помочь?