【发布时间】:2015-12-14 12:19:29
【问题描述】:
我在 node.js 上运行这段代码
var mongoose = require('mongoose');
mongoose.model('participant',new mongoose.Schema({},{ collection : 'forumParticipant' }));
var Participant = mongoose.model('participant');
mongoose.connect('******');
Participant.find({entity_id: 0}, function (err, docs) {
console.log(docs[0]);
console.log(docs[0].entity_id)
});
1) 第一个console.log 返回完整文档
2) 第二个console.log返回未定义
我不明白为什么。
我需要执行类似的操作
var participants = docs.map(function(d){return d.user_id})
我怎样才能做到这一点?我错过了什么?
【问题讨论】:
-
您是否尝试过使用
toObject()像var participants = docs.map(function(doc) { return doc.toObject().user_id; })或返回普通JS 对象的lean()方法来展平结果? -
问题是 mongoose 不会返回数据库中的对象,而是返回包装在适合 mongoose 的对象中的对象。
标签: node.js mongodb asynchronous mongoose