搜索

首页  >  问答  >  正文

mongodb - 如何根据嵌套的属性值查找(第一层属性值是数组)?

示例代码如下:

var UserSchema = new Schema({
    interactions: [{
        interactor: {
            type: Schema.Types.ObjectId,
            ref: 'User'
        }
    }]
});

我现在想根据userId匹配所有interactor的值为userId的interaction,用mongoose如何能做到呢?

巴扎黑巴扎黑2765 天前681

全部回复(1)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:13:50

    匹配的问题我找到了解决办法,非常直观:

    User.find({
        'interactions.interactor': mongoose.Types.ObjectId(user._id)
    }, function (err, users) {
    }
    

    可是在回调函数中我会对匹配的多个users做更新,更新完之后应该如何保存呢?没有users.save()这个方法,难道得自己写loop save?

    回复
    0
  • 取消回复