如何将变量放入我的查询? (猫鼬)

时间:2017-02-25 09:56:03

标签: node.js mongodb mongoose mongodb-query

需要为我的用户添加用户ID,这将是我的收藏项目数+1。 例如,如果我有100个用户,则下一个用户的userID将为101。

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

那么如何在我的查询中添加“count”变量? 或者它是更高级的方式,在mongoose中获得自动增量(主键)?

1 个答案:

答案 0 :(得分:1)

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

请注意,MongoDB不是关系数据库,因此它不是主键,而且它将是一串垃圾。如果您确实需要自动递增_id,您也可以使用记录的过程here.执行此操作。基本上,使用db.counters.insert创建一个计数器,然后创建使用{{1}的自己的函数获取放在findAndModify中的序列号,然后递增它。最后,您可以通过将db.counters设置为在插入调用期间调用该函数的结果,将文档插入User(或类似的东西)。