我在mLab上创建了一个简单的Mongo数据库,我想使用Node.js和Mongoose在我的控制台上打印内容,但是我无法弄清楚我的架构有什么问题(或者某些东西)否则也许?)。它无法打印嵌套的对象数据。
这是我的数据库结构:
{
"_id": {
"$oid": "5a26d0a8f36d280fefe443ed"
},
"housename": "my sweet home",
"rooms": [
{
"roomname": "kitchen",
"appliance": "fridge"
},
{
"roomname": "bedroom",
"appliance": "lamp"
}
]
}
我正在尝试打印这样的内容:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userDataSchema = new Schema({housename: String, rooms: [{roomname: String, appliance: String}] }, {collection: 'testcollection'});
var userData = mongoose.model('userData', userDataSchema);
var mongoDB = 'mongodb://homeuser:homeuser@ds129776.mlab.com:29776/homedb';
mongoose.connect(mongoDB, {
useMongoClient: true
});
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
userData.find({}, function(err, data) {
console.log(data);
});
问题是,控制台没有打印嵌套的房间对象:
VSHANDIL-M-60PS:mongoclient vshandil$ node mongoclient.js
[ { _id: 5a26d0a8f36d280fefe443ed,
housename: 'my sweet home',
rooms: [ [Object], [Object] ] } ]
任何人都可以帮我找出可能出错的地方吗?我正在尝试按照以下文档:
http://mongoosejs.com/docs/guide.html
感谢您的帮助!
答案 0 :(得分:4)
这只是console.log
行为。
试试console.log(JSON.stringify(data));
它会给你完整的对象。