Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并查询,mongodb_Mongodb - Fatal编程技术网

合并查询,mongodb

合并查询,mongodb,mongodb,Mongodb,我的文件: var docA = { placeId: 1, items: [ { name: 'A' }, { name: 'B' } ] }; var docB = { placeId: 1, items: [ { name: 'A' },

我的文件:

    var docA = {
      placeId: 1,
      items: [
        {
          name: 'A'
        },
        {
          name: 'B'
        }
      ]
    };

    var docB = {
      placeId: 1,
      items: [
        {
          name: 'A'
        },
        {
          name: 'C'
        }
      ]
    };
查询后的输出:

    {
      placeId: 1,
      items: [
        {
          name: 'A'
        },
        {
          name: 'B'
        },
        {
          name: 'C'
        }
      ]
    };
因此,所有具有相同placeId的文档都应该合并到一个文档中。
项目
arr也应合并,并删除所有重复项

这应该被保存


这可以在单个查询中完成吗?或者我需要循环吗?

您可以尝试
db.collection.aggregate({$unwind:$items},{$group:{{u id:$placeId],items:{$addToSet:$items}})
Np。组后使用。一个漂亮的$out。我不知道那件事。我试试看。谢谢。