将mongodb的查询结果保存在变量中,并仅从该变量中获取一个字段

问题描述 投票:0回答:2
var std = require("./models/stdModel");
var ss=std.find({stdId:req.body.sid});
console.log(ss.stdname);

model有字段stdid和stdname,我只想在stdid的基础上输入stdname,我输入了输入字段。将结果保存在ss中,然后从中获取一个字段

javascript node.js mongodb express ejs
2个回答
0
投票
    std.find({stdId:req.body.sid},{stdname:1});

这里,传递给查询的第二个对象是BSON格式。此查询将返回仅包含stdname和_id的文档。

如果你也不需要_id

std.find({stdId:req.body.sid},{stdname:1,_id:0});

值1将选择那些字段,0将忽略该字段。

希望这可以帮助。


0
投票

这是因为.find是一个异步函数。你需要调用.then方法并在.then函数中尝试console.log。

std.find({stdId:req.body.sid})
    .select('stdname')
    .exec() //this is just another way to run query.
    .then(data => console.log(data))
    .catch(err => console.log(err))
© www.soinside.com 2019 - 2024. All rights reserved.