我在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})
我该如何实现?我想念什么?
我怀疑您要获取的值不在您的中,Schema而是存储在数据库中。
Schema
您有两种解决方案。您可以将其添加entity_id到您的Schema文档中,然后Mongo可以将其绑定到Document您收到的对象。这是推荐的方法。
entity_id
Document
或者,您可以绕过猫鼬,Schema并使用访问存储在数据库中的原始文档docs[0]._doc.entity_id。除非您知道自己在做什么,否则我不建议您使用此解决方案。
docs[0]._doc.entity_id