MongoDB 可以通过一次查询创建好友关系吗?

Can MongoDB create friend relationship with one query?

我正在写一些 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}});

我的问题是:我可以将以上两个合并为一个查询吗?如果有,怎么写?

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

实际上你不能。 因为MongoDB不支持这样的功能,你只能写两个查询来达到你的目的。