gpt4 book ai didi

node.js - Mongoose 架构不适用于嵌套对象数组 (Node.js)

转载 作者:太空宇宙 更新时间:2023-11-04 03:03:28 26 4
gpt4 key购买 nike

我在 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

感谢您的帮助!

最佳答案

这只是 console.log 行为。尝试 console.log(JSON.stringify(data)); 它会给你完整的对象。

关于node.js - Mongoose 架构不适用于嵌套对象数组 (Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com