繁体   English   中英

mongodb查找子文件id等于的所有记录

[英]mongodb find all records with subdocument id equals to

我有以下收集记录:

> db.products.find(ObjectId("53a9a6aad901f2961403fc9b")).pretty()
{
    "_id" : ObjectId("53a9a6aad901f2961403fc9b"),
    "code" : "N39",
    "name" : {
        "en-UK" : "N39"
    },
    "weight" : [
        90
    ],
    "collectionId" : ObjectId("53a9a6a8d901f2961403fbe2"),
    "fabric_composition" : [
        {
            "fabricId" : ObjectId("53a9a6a9d901f2961403fc69"),
            "value" : 70
        }
        {
            "fabricId" : ObjectId("53a9a6a9d901f2961403fc6a"),
            "value" : 30
        }
    ],
    "visible" : "true",
    "manufacturer" : "53a859d9d901f2e8f81ac83b"
}

> db.fabric.find().pretty()
{
    "_id" : ObjectId("53a9a6a9d901f2961403fc69"),
    "name" : [
        {
            "en-UK" : "Recycled Organic Cotton"
        }
    ]
}
{
    "_id" : ObjectId("53a9a6a9d901f2961403fc6a"),
    "name" : [
        {
            "en-UK" : "Recycled Polyester"
        }
    ]
}

我如何查询mongodb集合products列出所有具有Fabric_composition的产品,其中ObjectId用于Recycled Organic Cotton作为例子?

任何建议非常感谢

您需要使用使用点表示法来查询子文档:

db.products.find({
    "fabric_composition.fabricId" : ObjectId("53a9a6a9d901f2961403fc69")
});

此查询将返回包含至少一个带有您正在查找的fabricId子文档的所有文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM