MongoDB指针还是实际副本?

时间:2014-09-25 00:40:12

标签: mongodb mongodb-query nosql

对于这个问题的含糊不清,我真的不知道如何改写它。问题是关于MongoDB及其中存储的信息。

我有一组用户:

use mydb
db.users.insert({name:"whatever", follow:[])
db.users.insert({name:"whatever2", follow:[])

我希望用户关注另一个用户:

var userToFollow = db.users.findOne({name:"whatever2"});
db.users.update({name:"whatever"}, {$push:{follow:userToFollow}});
/* 
 * I know that in reality, this query will return more than one user, 
 * but as I'm letting mongo create the ids, I don't actually know a better approach.
 * Please enlighten me.
 */

这就是我想要遵循的方式。但我有这样的问题,是将所有用户复制到follow数组还是实际存储指向该用户的指针,当我通过查询访问它时,它会在内部以某种方式检索它?另外,有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这是你的实际副本。正如您在操作后可以检索的内容一样 如果您想从提交的follow快速访问内容,那就是您已经完成的方式,否则您只需将其存储为_id的数组。