Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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中加入2个集合_Mongodb_Aggregate - Fatal编程技术网

如何在mongodb中加入2个集合

如何在mongodb中加入2个集合,mongodb,aggregate,Mongodb,Aggregate,我有两件收藏品 材料包装 { "_id" : ObjectId("5e43bd417b5590b641d2f408"), "title" : "untitle", "ref" : [ {"id" : ObjectId("5e43bd517b5590b641d2f409")}, {"id" : ObjectId("5e43bd517b5590b641d2f40a")}, {"id" : ObjectId("5e43bd517b5590b641d2f40b")}

我有两件收藏品

材料包装

{
  "_id" : ObjectId("5e43bd417b5590b641d2f408"),
  "title" : "untitle",
  "ref" : [ 
    {"id" : ObjectId("5e43bd517b5590b641d2f409")},
    {"id" : ObjectId("5e43bd517b5590b641d2f40a")},
    {"id" : ObjectId("5e43bd517b5590b641d2f40b")}
]
及 材料

[
  {
    "_id" : ObjectId("5e43bd517b5590b641d2f409"),
    "mine_type" : "image/gif"
  },
  {
    "_id" : ObjectId("5e43bd517b5590b641d2f40a"),
    "mine_type" : "image/jpeg"
  },
  {
    "_id" : ObjectId("5e43bd517b5590b641d2f40b"),
    "mine_type" : "image/jpeg"
  },
]
我想要的是把它们和这个代码结合起来

db.material_pack.aggregate([
   {
     $lookup:
       {
         from: 'material',
         localField: 'ref.id',
         foreignField: '_id',
         as: "items_document"
       }
  }
])
但items_文档字段的结果为[]

我的结果是:

{
  "_id" : ObjectId("5e43bd417b5590b641d2f408"),
  "title" : "untitle",
  "content" : "",
  "categories" : [],
  "ref" : [ 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f409")
    }, 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f40a")
    }, 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f40b")
    }
  ],
  "items_document" : [ ]
 }
我想要这样的结果:

{
  "_id" : ObjectId("5e43bd417b5590b641d2f408"),
  "title" : "untitle",
  "content" : "",
  "categories" : [],
  "ref" : [ 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f409")
    }, 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f40a")
    }, 
    {
        "id" : ObjectId("5e43bd517b5590b641d2f40b")
    }
  ],
  "items_document" : [ 
    {
        "_id" : ObjectId("5e43bd517b5590b641d2f409"),
        "mine_type" : "image/gif",
        ...
    }, 
    {
        "_id" : ObjectId("5e43bd517b5590b641d2f40a"),
        "mine_type" : "image/jpeg",
        ...
    }, 
    {
        "_id" : ObjectId("5e43bd517b5590b641d2f40b"),
        "mine_type" : "image/jpeg",
        ...
    }
  ]
}
你好,阿皮乌特·特鲁斯菲迈, 请检查这个,它可能对你有帮助。
我已经使用了您的代码和集合,您的代码中不需要任何更改。它运行良好,您可以查看我的给定链接。

我已经尝试了您的代码。它工作得非常好。可能需要仔细检查代码中的集合名称和字段名称。我也刚刚尝试运行查询,得到了正确的结果。感谢您的回答。看起来我的代码是正确的,但不知怎么的,它在该数据库中不起作用,所以我通过更改数据库解决了此问题,它现在起作用了,但我不明白为什么会发生此问题?