[英]Is there a schema to store this object with typeof, Integer { value: 340895965n } in mongoose with node.js
[英]Mongoose: Schema for nested Json and store it (Node.js)
我對js和mongoose很新,我最終得到了一個嵌套的JSON。
var standardmessage = {
"id": "352",
"name": "a name",
"type": "a type",
"message":
{
"messagetype": "default message",
"timestamp": "35235326326",
"messagestatus": "running"
}
}
現在我嘗試定義一個模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var messageSchema = new Schema({
id: Number,
name: Schema.Types.Mixed,
type: Schema.Types.Mixed,
message:
{
messagetype: String,
timestamp: Number,
messagestatus: String
}
}, {collection: 'test'});
var testmodel = mongoose.model('messagemodel', messageSchema,'test');
module.exports = testmodel;
最后我嘗試通過Mongoose將它存儲到MongoDB中:
var Message = new testmodel({standardmessage});
Message.save(function (err) {
if (err) console.log(err);
});
我的架構是錯誤的,我需要多個架構來正確存儲它或者...... 別的錯了。 但在我的數據庫中,它只是像這樣存儲:
{“_ id”:ObjectID(“xxxxxxxxxxx”),“__ v”:0}
是否可以定義一個Schema來存儲這個嵌套的JSON? 如果有,怎么樣? 如果沒有,我該如何設法正確存儲它?
為什么它只存儲ObjectID?
在此先感謝,感謝各種幫助,如果我的問題愚蠢,我很抱歉。
更新:
var messageSchema = new Schema({
id: Number,
name: Schema.Types.Mixed,
type: Schema.Types.Mixed,
message: [message]
}, {collection: 'test'});
var message = new Schema({
"messagetype": "default message",
"timestamp": "35235326326",
"messagestatus": "running"
})
然后它會像這樣存儲{“_ id”:ObjectID(“xxxxxxxxxxx”),“message”:[],“__ v”:0}
對於嵌套的JSON,您可以執行以下操作:
var mongoose =require('mongoose');
var Schema = mongoose.Schema;
var standardmessage = new Schema({
id: Number,
name: String,
type: String,
message: {
messageType: String,
timestamp: Number,
messagestatus: String
}
});
如果嵌套塊是列表,那么您可以這樣做:
var mongoose =require('mongoose');
var Schema = mongoose.Schema;
var msg = new Schema({
messageType: String,
timestamp: Number,
messagestatus: String
});
var standardmessage = new Schema({
id: Number,
name: String,
type: String,
message: [msg]
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.