我正在尝试将一个从momgoose的一个feild的值分配给一个变量,该变量将被用作另一个模式的值,如下所示。
function getNextSequence() {
var x = null
relcounter.findOne({"name":"cabi"},'seq', function (err, configs) {
x=configs.seq
console.log("##"+x)
})
console.log(x)
}
X即将出现 另外我需要将x的这个值添加到另一个如下的字段
relconf.update(
{name:"css"},
{ $push: { relations: {id:getNextSequence(),name:req.body.name,divId:"name_div"} } }
基本上没有函数getNextsequence返回seq feild的值并分配给id feild 任何人都可以为getNextSequence()
建议正确的代码和null值的原因答案 0 :(得分:0)
它在函数中无用包装,你必须创建包含回调或Promises链接。因此,您需要阅读有关异步JavaScript https://www.sitepoint.com/javascript-goes-asynchronous-awesome/的内容,例如:
//callbacks example
...
app.get('/', function(req, res){
//parse request params
...
relcounter.findOne({"name": name},'seq', function (err, configs) {
if(err) {
throw err;
}
res.send(configs.seq);
});
});
//promise example
...
app.get('/', function(req, res){
//parse request params
...
relcounter.findOne({"name": name},'seq')
.then(function(configs){
res.send(configs.seq);
})
.catch(function(err)=>{
throw err;
})
});