MongoDB可以用一个查询创建朋友关系吗?

时间:2015-10-02 15:08:30

标签: mongodb database nosql

我正在为Friend关系编写一些mongoDB查询。假设有一个如下所示的用户文档:

User:
{
    _id: 1
    Friends: [2,3,8] // an array of identifier
}

如果我想为两个用户编写查询以成为朋友,我需要编写两个查询:

  db.Users.update({_id: x}, {$push: {Friends: y}});

  db.Users.update({_id: y}, {$push: {Friends: x}});

我的问题是:我可以将上述两个结合到一个查询中吗?如果是的话,怎么写呢?

2 个答案:

答案 0 :(得分:1)

其实你做不到。 由于MongoDB不支持此类功能,因此您只能编写两个查询来实现目标。

答案 1 :(得分:0)

afaik你不能在一次更新中做到这一点,但你应该对批量更新感兴趣:http://docs.mongodb.org/manual/reference/method/Bulk/