mongodb - 如何在 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 还是什么?
解决方案
根据您提供的示例,如果您想查找包含特定SYMBOL
值的文档(例如:AARTIIND
,使用 Mongo Shell,您将查询如下:
db.collection.find({ "1995": { $elemMatch: { SYMBOL: "AARTIIND" } } })
这将使用$elemMatch
运算符查询嵌入文档的数组。
这将返回整个匹配文档。请注意,这仅在集合中每个文档的架构都包含一个1995
字段时才有效。
如果您只想返回1995
数组中的特定匹配文档,则可以考虑编写一个聚合管道。
推荐阅读
- mysql - Golang LOAD DATA 减慢数据库/sql 操作
- java - 从复杂的 json 中自动生成 java 类
- python - Python TypeError:'int'和'list'的实例之间不支持'<'
- pytorch - rnnFusedPointwise 在 >=PyTorch 1.0 中不再可用
- python - -m pip install --upgrade pip,尝试在 Visual Studio 代码中安装包“pyaudio”
- algorithm - 找出数组中是否有两个数字总和为0
- python - 如何在不丢失名称的情况下加入数据框
- android - 保存资源密集片段的 UIState
- python - 从输入数据点生成平滑曲线的算法
- r - R:合并不等行数的矩阵