mongodb提取子数组

比如有下面格式的多条文档(下面只写了一条):

{
   _id: ...,
   "key": [{
     "subkey1":  ...
     "subkey2": ...
     "subkey3": ..
   },{
     "subkey1":  ...
     "subkey2": ...
     "subkey3": ..
   }
   ...
    ]
}
...

有可能只使用mongodb的方法把多条文档中的key数组放到一个新数组中吗?结果如下:

[
    // 元素来自多个文档中的key数组
  {
    "subkey1": ...,
    "subkey2": ...,
    "subkey3": ...
  }, 
  {
    "subkey1": ...,
    "subkey2": ...,
    "subkey3": ...
  },
  ...
]

如果还有node.js的mongodb库代码示例的话,就更好啦^_^

阅读 2.9k
2 个回答

单个文档的大小不能超过16MB,所以全部放一个文档显然是不现实的,不建议。如果要按一定的条件,那就需要做$group,那么先要决定按什么条件来$group

mongoose中使用find({查询条件},{key:1},function(){})可以只返回key,但是单个文档还是对象的形式,即{"key":[...]}。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题