繁体   English   中英

如何用猫鼬中的model.populate查询结果过滤model.find查询结果?

[英]how to filter model.find query results with model.populate query results in mongoose?

var UserSchema = Schema (
{
    android_id: String,
    rooms: [{ type: Schema.Types.ObjectId, ref: 'Chatrooms'}],
    location: {country: String, state: String, coordinates: { latitude: String, longitude: String}}
});

var RoomSchema = Schema 
({
    Roomname: {type: String},
    ids: {type: Array},
});


Users
    .find({android_id: {$ne: userID}, 'location.state': LocationArray.state, 'location.country': LocationArray.country})
    .populate({
        path: 'rooms',
        match: {'rooms.ids': {$nin: [userID]}},
        select: 'ids'
     })
     .exec(function(err, found) {
     })

我想找到一个州和国家(我不在他们的id数组中)所排除的所有用户。 使用填充可能吗?

希望对您有所帮助。

Users
.find({android_id: {$ne: userID}, 'location.state': LocationArray.state, 'location.country': LocationArray.country})
.populate({
    path: 'rooms',
    match: {'ids': {$nin: [userID]}},
    select: 'ids'
 })
 .exec(function(err, found) {
 if(found){
      vettings = found.filter(function (doc) {
            return doc.ids;
        });
   }
 })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM