这是我想要将它保存在mongoose数据库中的json数据,但我很困惑如何设计我的mongoose模式。
data is { 'posts[0][commentId]': '0',
'posts[0][id]': '1',
'posts[0][postName]': 'hi',
'posts[0][img]': '',
'posts[0][postBy]': ' Neeraj',
'posts[1][commentId]': '0',
'posts[1][id]': '2',
'posts[1][postName]': 'hii',
'posts[1][img]': '',
'posts[1][postBy]': ' Neeraj',
'posts[1][comments][0][commentId]': '1',
'posts[1][comments][0][commentValue]': 'hlo how are u???',
'posts[1][comments][0][commentBy]': ' Neeraj',
'posts[1][comments][0][upCounter]': '5',
'posts[1][comments][0][downCounter]': '6' }
这是我的Post模式,但我不知道如何实际设计它。
var postSchema=new Schema({
posts:[{
commentId: Number ,
comments : [{
commentBy : String,
commentId : String,
commentValue:String,
date:Date,
downCounter:Number,
upCounter:Number
}],
id:String,
img:String,
postBy:String,
postDate:Date,
postName:String
}]
});
答案 0 :(得分:3)
您可以只在猫鼬模式中将posts属性设置为 Object 并存储整个对象。
类似这样的东西:
var postSchema = new Schema({
posts: {
type: Object,
required: false //depends on whether the field is mandatory or not
}
});
答案 1 :(得分:0)
您可以直接将JSON存储到数据库:
var post_schema = mongoose.Schema({data : JSON});
var post_model = mongoose.model('collection_name', post_schema);
var newData = new post_model({data : <json_object>});
//saving json schema to mongodb
newData.save(function(err){
if (err) {
throw err;
}
console.log('INSERTED!');
});