簡體   English   中英

貓鼬查詢包含objectId數組的子文檔

[英]Mongoose query for subdocument containing array of objectId's

我有以下架構:

var groupSchema = mongoose.Schema({
name: {type: String, index: {unique: true, dropDups: true}},
createdBy: String,
availableModules: [Number],
members: [{type: Schema.Types.ObjectId, ref: 'User'}]
});

“成員”字段只是來自用戶表的ObjectID的直接數組。 在執行其他操作之前,我需要檢查成員子文檔集合中是否存在給定的ObjectId(user._id)。

我已經嘗試過類似的東西:

Group.find({req.body.uid}, {$in: {"members"}}, function(grps){..});

但這是行不通的。 我嘗試了無數其他方法,但似乎無法使任何方法起作用。 我認為這很容易,但是我似乎無法弄清楚。

編輯進一步調查:

User.findOne({"local.email": req.body.user.email}, function(err, user){
    Group.find({"members": user._id}, function(grps){
        if(grps){ //do something}
    });
});

無論我采用何種方式,grps都為null。在mongo控制台中,當使用ObjectId(“ ..”)表示法時,它將返回值

db.groups.find({members: ObjectId("5371a4763b32c3620728acb5")})
Group.find({members: req.body.uid}, function(err, items){})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM