获取mongodb中地图列表中所有键的名称?

时间:2014-10-23 14:03:55

标签: mongodb

我的馆藏包含有大量地图列表的文档。 E.g

{
  name : 'Ned',
  mapList : 
  [
   {
     type : 'DVD',
     sales : 100
    },
    {
      type : 'CD',
      sales : 200
    }
   ]
 }         

有没有办法在mapList属性中列出文档的键?

我在使用文档本身之前遇到过这个问题,并使用map reduce作为解决方案,遵循此处列出的答案:MongoDB Get names of all keys in collection

可以在这里使用map reduce还是有另一种方式?注意*我无法更改我的文档结构

编辑 - 我当前的方法和输出

mr = db.runCommand({
"mapreduce" : "entertainmentStats",
"map" : function() {
 for (var key in this.mapList) { emit(key, null); }
},
"reduce" : function(key, stuff) { return null; }, 
"out": "entertainmentStats" + "_keys"
})

该方法与ly链接问题中列出的答案完全相同,除了我要对文档的mapList属性执行map reduce操作。我的输出键始终为空。

我尝试使用集合中的单个地图元素采用相同的方法,但它运行正常,但它不适用于地图数组

0 个答案:

没有答案