【发布时间】:2018-11-17 22:45:53
【问题描述】:
我要做的是允许指定 sort_order 或将其留空。 当它被指定时,它被使用。 未指定时,查询数据库中的最大数字,递增并使用。 我的问题是数据库调用是异步的并且在“if”语句中。
在将新数据插入数据库之前确保“sort_order”未定义的最佳做法是什么?
一段sn-p代码如下所示:
if (sort_order == undefined) {
MongoClient.connect(dbUrl, function (err, db) {
var dbo = db.db("HIDDEN");
dbo.collection("HIDDEN").findOne({}, {"sort": { sort_order: -1 } }, function (err, data) {
sort_order = data.sort_order + 1;
});
});
}
console.log(sort_order);
提前致谢,
詹姆斯
编辑(2018 年 8 月 6 日):我相信这个问题与建议的另一个问题不同,因为在某些情况下 sort_order 不是未定义的并且可以预先指定。使用其他问题的答案,可能必须编写重复项(在 if 语句内的回调内部和 if 语句之后)
【问题讨论】:
标签: node.js mongodb asynchronous callback