MongoDB查找子文档“像”的所有子文档;“字符串”;

MongoDB查找子文档“像”的所有子文档;“字符串”;,mongodb,mongodb-query,aggregates,Mongodb,Mongodb Query,Aggregates,示例文档结构如下所示: { "_id" : "https://docs.mongodb.org/manual", "collection" : { "_id" : "collection", "urls" : [ "https://docs.mongodb.org/manual/c1", "https://docs.mongodb.org/manual/c2" ] },

示例文档结构如下所示:

{
    "_id" : "https://docs.mongodb.org/manual",
    "collection" : {
        "_id" : "collection",
        "urls" : [ 
            "https://docs.mongodb.org/manual/c1", 
            "https://docs.mongodb.org/manual/c2"
        ]
    },
    "collectionNew" : {
        "_id" : "collection1",
        "urls" : [ 
            "https://docs.mongodb.org/manual/c1New", 
            "https://docs.mongodb.org/manual/c2New"
        ]
    },
    "log" : {
        "_id" : "log",
        "urls" : [ 
            "https://docs.mongodb.org/manual/l1", 
            "https://docs.mongodb.org/manual/l2"
        ]
    }
}
我的收藏中有多个这样的文档。 通过查找文档后

db.AutoSearch.find({"_id": "https://docs.mongodb.org/manual"})
我想搜索此项下名为“collection”的所有子文档

解决方案

我将文档结构更改为:

{
"_id" : "https://docs.mongodb.org/manual",
"contents" : [ 
    {
        "_id" : "connect",
        "urls" : [ 
            "https://docs.mongodb.org/manual/search/?query=connect"
        ]
    }, 
    {
        "_id" : "connection",
        "urls" : [ 
            "https://docs.mongodb.org/manual/search/?query=connection", 
            "https://docs.mongodb.org/manual/search/?query=connection%20pymongo"
        ]
    }
    {
        "_id" : "list",
        "urls" : [ 
            "https://docs.mongodb.org/manual/search/?query=listfiles", 
            "https://docs.mongodb.org/manual/search/?query=listdatabases", 
            "https://docs.mongodb.org/manual/search/?query=listcommands"
        ]
    }, 
    {
        "_id" : "log",
        "urls" : [ 
            "http://docs.mongodb.org/manual/tutorial/rotate-log-files/", 
            "http://docs.mongodb.org/manual/reference/log-messages/"
        ]
    }, 
    {
        "_id" : "index",
        "urls" : [ 
            "https://docs.mongodb.org/manual/search/?query=index-related%20commands"
        ]
    }
]}
然后用


我得到了所需的输出。

首先,您需要更改文档结构。之后你会在这里找到你的快乐:首先你需要改变你的文档结构。之后,您将在这里找到您的幸福:
db.AutoSearch.aggregate([{$match:{ "_id": "https://docs.mongodb.org/manual"}}, 
                    {$unwind: '$contents'},
                    {$match:{"contents._id":/connect/}}])