…今天要学什么?我现在使用Mongodb,阅读参考手册并自己尝试,我不知道如何匹配嵌入式文档的各个部分。
鉴于这些微小的植物收藏:
{ "code" : "2016.0461.1", "lon" : -73.8603176593, "lat" : 2.06117398918,
"species" : "Pera arborea",
"dap" : { "2016-11" : 10 } }
{ "code" : "2011.0154.1", "lon" : -73.8648049304, "lat" : 2.05991990281,
"species" : "Terminalia amazonia",
"dap" : { "2013-10": 8, "2016-11" : 21 } }
{ "code" : "2006.0065.1", "lon" : -73.8672333008, "lat" : 2.05869146507,
"species" : "Maquira coriacea",
"dap" : { "2010-10": 80, "2013-05": 84, "2016-11" : 90 } }我希望选择所有在2016年11月超过50厘米的树木(在上面的数据中,dap是树的胸径,它是偶尔测量的,所以我预计只有代码2006.0065.1的植物)。
db.plants.find({"dap.2016-11" : 90})给出了预期的结果,但我可以想到的两个查询不起作用:
db.plants.count({dap : {"2016-11" : {$elemMatch: {$gte:40}}}})db.plants.count({"dap.2016-11" : {$elemMatch: {$gte: 40}}})都没有发出错误信号,并且都返回0。
发布于 2018-08-13 21:29:46
因此,我在一个相关的问题中找到了一个答案:我不需要elemMatch,并且工作查询可以使用点符号:
db.plants.find({"dap.2016-11" : {$gte: 90}})
https://stackoverflow.com/questions/51830709
复制相似问题