MongoDB从以对象为元素

时间:2017-08-25 05:12:06

标签: mongodb

我将数据库作为“链接”,并将此数据库中的集合称为“产品”。 “产品”系列有以下记录 -

MongoDBCollectionStructure

现在我的输入数组低于3'productconfig._id' -     5984b2f0ca0a093c74cb4395,598d57c8b541eb3e58e98cf7,5984b48eca0a093c74cb4397 现在基于此,我希望我的输出像这样 -

MongoDBExpectedResult

(请注意,我不希望文档1中的productconfig数组的第3个对象)

我曾尝试过以下2个查询 -

  1. db.products.find({&#34; productconfig._id&#34;:{$ in:[ObjectId(&#34; 5984b2f0ca0a093c74cb4395&#34;),ObjectId(&#34; 598d57c8b541eb3e58e98cf7&#34 ;),ObjectId(&#34; 5984b48eca0a093c74cb4397&#34;)]}},{&#34; name&#34;:1,&#34; productconfig。$&#34;:1})。pretty()< / p>

  2. db.products.find({&#34; productconfig&#34;:{$ elemMatch:{&#34; _id&#34;:{$ in:[ObjectId(&#34; 5984b2f0ca0a093c74cb4395&#34) ;),ObjectId(&#34; 598d57c8b541eb3e58e98cf7&#34;),ObjectId(&#34; 5984b48eca0a093c74cb4397&#34;)]}}}},{&#34; name&#34;:1,&#34; productconfig。 $&#34;:1})相当()

  3. 但是这些查询没有返回当前输出,因为输出没有productconfig._id = 598d57c8b541eb3e58e98cf7记录。

    请帮忙。

    我知道在下面的链接中有一个类似的问题 - Retrieve only the queried element in an object array in MongoDB collection

    但是我无法在这里应用$ filter逻辑。感谢有人可以让我知道查询

0 个答案:

没有答案