我将数据库作为“链接”,并将此数据库中的集合称为“产品”。 “产品”系列有以下记录 -
现在我的输入数组低于3'productconfig._id' - 5984b2f0ca0a093c74cb4395,598d57c8b541eb3e58e98cf7,5984b48eca0a093c74cb4397 现在基于此,我希望我的输出像这样 -
(请注意,我不希望文档1中的productconfig数组的第3个对象)
我曾尝试过以下2个查询 -
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>
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})相当()
但是这些查询没有返回当前输出,因为输出没有productconfig._id = 598d57c8b541eb3e58e98cf7记录。
请帮忙。
我知道在下面的链接中有一个类似的问题 - Retrieve only the queried element in an object array in MongoDB collection
但是我无法在这里应用$ filter逻辑。感谢有人可以让我知道查询