如何在mongoDB中查询此文档?

时间:2019-02-19 02:40:27

标签: mongodb

{
    "_id": {
        "$oid": "5c6b67a937f76029554a96de"
    },
    "1995": [
        {
            "SYMBOL": "20THCENFIN",
            "SERIES": "EQ",
            "OPEN": "75",
            "HIGH": "75",
            "LOW": "75",
            "CLOSE": "75",
            "LAST": "75",
            "PREVCLOSE": "75",
            "TOTTRDQTY": "100",
            "TOTTRDVAL": "7500",
            "TIMESTAMP": "1-AUG-1995",
            "field12": ""
        },
        {
            "SYMBOL": "AARTIIND",
            "SERIES": "EQ",
            "OPEN": "66",
            "HIGH": "66",
            "LOW": "63.05",
            "CLOSE": "63.05",
            "LAST": "63.05",
            "PREVCLOSE": "65.05",
            "TOTTRDQTY": "700",
            "TOTTRDVAL": "45805",
            "TIMESTAMP": "1-AUG-1995",
            "field12": ""
        },
        {
            "SYMBOL": "ABANLLOYD",
            "SERIES": "EQ",
            "OPEN": "150",
            "HIGH": "151",
            "LOW": "149",
            "CLOSE": "150.5",
            "LAST": "150",
            "PREVCLOSE": "150",
            "TOTTRDQTY": "800",
            "TOTTRDVAL": "119800",
            "TIMESTAMP": "1-AUG-1995",
            "field12": ""
        }
    ]
}

现在我要查询mongodb中的Symbol属性?如何在mongo shell中查询此文档? 如果我发现数据库中实际存在的正确值,那它将返回true或什么?

1 个答案:

答案 0 :(得分:0)

根据您提供的示例,如果要使用Mongo Shell查找包含特定SYMBOL值(例如:AARTIIND)的文档,您将使用以下查询:

db.collection.find({ "1995": { $elemMatch: { SYMBOL: "AARTIIND" } } })

这将使用$elemMatch运算符来查询array of embedded documents

这将返回整个匹配的文档。请注意,只有在集合中每个文档的架构都包含1995字段的情况下,此方法才起作用。

如果您只想返回1995数组中的特定匹配文档,则可以考虑编写Aggregation Pipeline