2017-06-06 103 views
0

插件嵌入文档我有两个集合:的MongoDB:直接从另一个集合

// Profile 
{ 
    _id: "12345", 
    name: "max", 
    country: "IT" 
} 

// Association 
{ 
    _id: "43234", 
    idclub: "1000", 
    state: "0" 
} 

我想要插入协会资料,而不需要搜索它。 在我的代码中,我搜索一个关联,但我没有在那一刻的对象配置文件,我只是有它的“id”。

是否有可能在集合上执行某种插入A动态检索集合B的对象,因为它是自己的ID?

然后,这是一个反复练习吗?我能找到什么,似乎没有正确的最好方法......

感谢

+0

“以下为最终结果? { _id: “43234”, idclub: “1000”, 状态: “0”, 简介:{ _id: “12345”, 名称: “最大”, 国家: “IT” } } –

+0

是的,这应该是结果,只是我不会执行find()来检索Profile对象... –

回答

0

Use findAndModify operator

 db.createCollection("Association"); 

    db.Association.insert({ _id : "43234", idclub:"1000",state:"0"}); 

    db.Association.findAndModify({ 
      query:{ _id:"43234" }, 
      update:{ $set:{ "profile":{ _id:"12345","name":"max","country":"IT" } } } 
    }); 

    db.Association.find(); 

{ “_id”: “43234”, “idclub”: “1000” ,“state”:“0”,“profile”:{“_id”: “12345”,“name”:“max”,“country”:“IT”}}

+0

我现在只能看到你没有来自另一个现有的集合。 我会稍后再尝试并修改答案。抱歉。 –

+0

是的,我不知道配置文件的值。 –

相关问题