Node.js 在express中将mongoose result feild值指定给Vrable

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) }

我试图将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)

}
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是异步的。因此,您可以使用回调或承诺。