gpt4 book ai didi

node.js - Mongoose:在插入新行之前从表中获取最大ID

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:42 26 4
gpt4 key购买 nike

当我向 Node 服务器发出创建新项目的请求时,我需要从项目表中获取最大项目 ID。

即我在该表中使用 itemId 作为递增序列。

var Item = new Schema({
itemId: {type: Number, required: true}
...
});

是否有推荐的方法来获取最大 itemId,以便我可以向其添加 1 并在创建新项目时使用该值?

最佳答案

您可以通过以下方式获取最大itemId:

ItemModel.findOne().sort('-itemId').exec(function(err, item) {
// item.itemId is the max value
});

但是,您无法确定在查询最大值和向其添加并使用它之间最大值不会发生变化,因为另一个请求可能会同时进入,从而执行此操作同样的事情。

这是 ID 首选 ObjectId 的原因之一。

关于node.js - Mongoose:在插入新行之前从表中获取最大ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15033981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com