Mongoose按数组的对象字段搜索文档

时间:2016-06-23 06:30:41

标签: mongodb mongoose

我购买的文件包含物品清单。每个项目都有itemName和quantity。

那么如何查询itemName' keyboard'的所有购买文件数量为10?

Purchase = new Schema({
  items: [{
    itemName: String,
    quantity: Number,
  }]
});

1 个答案:

答案 0 :(得分:0)

在这种情况下,您应该使用$elemMatch运算符:

Purchase.find({
  items: {
    $elemMatch: {
      itemName: 'keyboard',
      quantity: 10
    }
  }
}).exec(function(err, items) {
  // Code goes here
});