查询对象数组中的值

时间:2018-07-09 16:56:38

标签: mongodb mongoose

我有以下架构:

var companySchema = new mongoose.Schema({
    _id : ObjectId,
    ...,
    items:[{
      _id: ObjectId,
      ...
      fields: {
        ...
        myBool: Boolean
        ...
      }
    }]
});

我需要获取一个特定公司(按ID)的给定项目(按ID)的myBool密钥的值。

我的方法(不起作用)

    Company.find(
        { "_id": coampanyId, "items._id": itemId },
        {
            "$elemMatch": {
                "items.$.fields.myBool"
            }
        },
        function(err,doc) {
            callback(err, doc);
        }
    ); 

我不知道$ elemmatch是否在这里正确使用...也许在这种情况下可以使用更好的运算符。我只需要myBool键中的值即可。

0 个答案:

没有答案