Node JS返回猫鼬中的数组元素

时间:2018-09-04 06:10:08

标签: node.js mongodb mongoose

请将此视为我的架构的一部分。

newSchema({
   'product':{}
   'productPayment':[{}]
});

productPayment具有'n'个元素,每个元素都有唯一的ID。我只想返回与我的ID相匹配的数组元素。我像schema.findOne({'_id':variables._id,'productPayment._id':variables.productPaymentId})一样查询,但是它返回整个文档,但是我只想要该特定元素。我怎么可能得到那个?任何帮助将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:1)

从投影中获取帮助,就像这样:-

 schema
.findOne({'_id':variables._id,'productPayment._id':variables.productPaymentId})
.select({ productPayment: {$elemMatch: {_id: variables.productPaymentId}}})

*这只是示例代码,请根据您的需要进行修改