Node.js 在express中将mongoose result feild值指定给Vrable
我试图将momgoose中的一个feild的值赋给一个变量,该变量将用作另一个模式中另一个feild的值,如下所示Node.js 在express中将mongoose result feild值指定给Vrable,node.js,express,mongoose,Node.js,Express,Mongoose,我试图将momgoose中的一个feild的值赋给一个变量,该变量将用作另一个模式中另一个feild的值,如下所示 function getNextSequence() { var x = null relcounter.findOne({"name":"cabi"},'seq', function (err, configs) { x=configs.seq console.log("##"+x) }) console.log(x) }
function getNextSequence() {
var x = null
relcounter.findOne({"name":"cabi"},'seq', function (err, configs) {
x=configs.seq
console.log("##"+x)
})
console.log(x)
}
X是空的
我还需要x的这个值来加上另一个feld,如下所示
relconf.update(
{name:"css"},
{ $push: { relations: {id:getNextSequence(),name:req.body.name,divId:"name_div"} } }
基本上使用函数getNextsequence返回seq feild的值并分配给id feild
如果有人能为getNextSequence()建议正确的代码和空值原因,则必须创建include回调或承诺链接。因此,您需要了解异步JavaScript,例如:
//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;
})
});
你好你能显示你的输出吗?我在打印诸如:###3和null之类的XIT时变为null输出是绝对正确的。Node.js是异步的。因此,您可以使用回调或承诺。