在我的MongoDB中,我有一个学生集合,有10个记录,包含字段name和roll.该系列的一个记录是:
{
"_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),
"name" : "Swati",
"roll" : "80",
}
Run Code Online (Sandbox Code Playgroud)
我想只检索roll集合中所有10条记录的字段,就像我们在传统数据库中一样,使用:
SELECT roll FROM student
Run Code Online (Sandbox Code Playgroud)
我浏览了很多博客,但所有博客都产生了一个查询,其中必须有WHERE条款,例如:
db.students.find({ "roll": { $gt: 70 })
Run Code Online (Sandbox Code Playgroud)
该查询相当于:
SELECT * FROM student WHERE roll > 70
Run Code Online (Sandbox Code Playgroud)
我的要求是只在没有任何条件的情况下找到一个密钥.那么,该查询操作是什么.
我想从mongoose查询中添加返回数据:
User.findById(userId, function(err, data) {
if (!err) {
data.newvar = 'Hello, world';
}
});
Run Code Online (Sandbox Code Playgroud)
但是,当我控制台记录输出时,newvar不存在.我也尝试使用Underscore的扩展:
_.extend(data, {'newvar': 'Hello, world'});
Run Code Online (Sandbox Code Playgroud)
也没有运气.由于我有嵌套文档,使用浅拷贝将无法正常工作.有没有办法在这里附加数据?