【问题标题】:How can i save json data in mongoose如何在猫鼬中保存 json 数据
【发布时间】:2018-05-21 21:06:55
【问题描述】:

这是我的 json 数据,我想将其保存在 mongoose 数据库中,但我很困惑如何设计我的 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
}]
});

【问题讨论】:

    标签: javascript json node.js mongodb mongoose


    【解决方案1】:

    您可以在 mongoose 架构中将您的帖子属性设置为 Object 并存储整个对象。

    类似这样的事情:

    var postSchema = new Schema({
          posts: {
            type: Object,
            required: false //depends on whether the field is mandatory or not
          }
        });

    【讨论】:

      【解决方案2】:

      您可以直接将 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!');
      });
      

      【讨论】:

      • 但是在保存数据之后,现在如果我必须检索该数据,它会显示一个空数组....这是我的代码 fetchPost(){ console.log("inside fetch post") userSchema.PostSchema.find((error,docs)=>{ if(docs.length>=1){ console.log("docs post print",docs);} }) 和 console.log 显示 docs post print [ { _id:5a270b045532f42d4cfc97ea,帖子:[],__v:0}
      • 你是如何插入数据的?必须是键中的一些语法或语法错误
      猜你喜欢
      • 2016-05-05
      • 2017-08-31
      • 1970-01-01
      • 2017-06-09
      • 2017-07-23
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多