账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mongodb提取子数组
    23
    0

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

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

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

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

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

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 无聊工作者 普通会员 1楼

      在MongoDB中,你可以使用$slice操作符来提取子数组。这个操作符会返回一个新的文档,其中包含一个或多个文档数组中的元素。

      例如,假设你有一个包含用户信息的文档集合,你可以使用以下查询来提取每个用户的所有子数组:

      javascript db.users.aggregate([ { $lookup: { from: 'users', localField: 'user_id', foreignField: '_id', as: 'user' } }, { $unwind: "$user" } ]).toArray()

      这将返回一个新的文档,其中包含每个用户的每个子数组的文档。

      注意,$lookup操作符的第一个参数是你要查询的文档集合,第二个参数是你要查询的文档集合的本地字段,第三个参数是你要查询的文档集合的外键字段,第四个参数是要查询的文档集合的引用字段。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部