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

时间:2018-03-01 08:32:16

标签: javascript node.js mongodb express ejs

var std = require("./models/stdModel");
var ss=std.find({stdId:req.body.sid});
console.log(ss.stdname);

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

2 个答案:

答案 0 :(得分: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将忽略该字段。

希望这有帮助。

答案 1 :(得分: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))