2017-02-25 38 views
1

需要添加用户ID为我的用户,那将是我的藏品数+ 1 举例来说,如果我有100个用户,未来用户的用户ID将是101如何将变量放入我的查询中? (猫鼬)

User.count().exec(function (e, count) { 
    console.log(count); // Count = 15, correct. 
    newUser.userId = count + 1; // Ain't working... 
}); 

所以如何将“count”变量添加到我的查询中? 或者它是更先进的方式,获取自动增量(主键)在猫鼬?

+0

为什么你需要ID来自动增加?你的目的是什么?你想要所有的用户唯一的ID,还是有一些其他的动机 –

+0

@Ravi Shankar给每个用户唯一的ID,并建立像用户/ 1 ...用户/ 1242的链接。你认为这是一个坏主意,在MongoDB中添加唯一的ID? –

回答

1

你的假设是正确的,有一种不同的方式来获得文档的“主键”。使用objName._id(在你的情况下,newUser._id)访问在创建对象时为文档生成的唯一值。

请注意,MongoDB不是一个关系数据库,所以它不是主键,它会是一串垃圾。如果你确实需要自动递增_id,你也可以使用here.记录的流程做到这一点。基本上,使用db.counters.insert做一个计数器,然后创建你自己的函数,使用findAndModify获得你输入的序列号db.counters,然后增加它。最后,您可以通过将_id设置为在插入呼叫期间调用该函数的结果,将文档插入User(或类似内容)。