我认为这是一个非常简单的问题?我是一个初学者,试图用节点学习mongo。
将某些内容保存到集合后,如何以简单的 var 格式将其提取出来?
db.highschools.save({
hsid :10,
name :"Johnson High School",
location:"San Diego, CA"
});
我只想将 var 存储为"约翰逊高中"。
我返回未定义的失败尝试如下...
var hsName = db.highschools.find({hsid:10}).name;
var hsName = db.highschools.find({hsid:10}).name.str;
很确定我错过了这里的大局,有人可以帮我解决这个问题吗?
改用findOne
:
var hsName = db.highschools.findOne({hsid:10}).name;
另外,请注意,这是一个Mongo脚本,而不是NodeJS脚本。
当你在 NodeJS 中编写逻辑时,你需要让它异步。
db.collection('students', function(err, collection) {
collection.findOne({hsid:10}, function(err, student) {
if (err) { throw err; }
console.log(student.name);
});
});
如果您确信应该只有一个结果,则可以使用快捷方式方法findOne
该方法只需在内部调用find
,limit
为1。如果要使用 find
,它将返回一个匹配数组。