【问题标题】:Querying number of map elements in Mongo在 Mongo 中查询地图元素的数量
【发布时间】:2014-07-24 01:30:49
【问题描述】:

我可以根据列表中的元素数量查询 Mongo 集合中的所有文档,如下所示:

db.myCollection.find( { arrayField : { $size : 0 } } )

但这不适用于地图。如何查询 Map 中的元素个数?

希望 Mongo 中的 2 条记录的这个示例可以为我的要求提供更多信息。

{
   "_id" : 1,
   stringField : "someValue",
   arrayField : [ 1, 2, 3 ],
   mapField : {
       "key1" : "value1",
       "key2" : "value2"
   }
}
{
   "_id" : 2,
   stringField : "someValue2",
   arrayField : [ 4 ],
   mapField : {

   }
}

使用 mapField 有 0 个元素的事实来检索上述集合中的所有文档的查询是什么?在上面的例子中,它应该返回 id 为 2 的记录。

【问题讨论】:

  • 看这个......如果你的情况没有工作,请告诉我......stackoverflow.com/questions/7223273/…
  • 这些链接都没有回答我的问题。
  • 您能否在您的问题中提供更多信息?您对地图的查询是什么?结果如何?
  • 我猜你的意思是一个键/值对,或者“Hash”、“Map”、“Dict”,随便你的船。但是这个问题可以通过编辑进行一些澄清,以免它变得晦涩难懂。最好通过示例文档和您的预期结果来解决。

标签: mongodb


【解决方案1】:

mapField 可以被认为是一个空文档。然后,您可以通过以下方式查询所有此类文档 db.collection.find({"mapField" : {}})

【讨论】:

    猜你喜欢
    • 2011-03-19
    • 2010-11-07
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    相关资源
    最近更新 更多