大佬教程收集整理的这篇文章主要介绍了如何在并发查询时不两次选择同一个对象?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从事一项送货服务,我同时处理 8 个订单,对于这些订单中的每一个,我必须获得一个唯一的寄售编号,该编号保存在数据库中。但由于操作是并发的,它们都在拾取相同的对象/托运编号。
const query = new Parse.query("Consign")
query.doesnotExist("order")
query.equalTo("staging",staging)
query.exists("@R_772_10793@er")
query.limit(1)
await query.find().then(function (result) {
if (result.length > 0) {
order.set("consign_no",result[0].get("@R_772_10793@er"))
result[0].set("order",order)
} else {
//Failed
}
}).catch((err)=>{
console.log(err);
})
我如何以这样一种方式进行此查询,即使在并发运行时它也能选取唯一的对象?
基于其他人在此处给出的答案:
这应该有效(取决于 Is it possible to update the same document on concurrent findAndModify operations in Mongo?)为您提供不同的值,请注意,如果您插入稍后首先检索的值,则在您的文档中,这些值可能最终不连续。
以上是大佬教程为你收集整理的如何在并发查询时不两次选择同一个对象?全部内容,希望文章能够帮你解决如何在并发查询时不两次选择同一个对象?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。