Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将数组保存到MongoDB数据库_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 将数组保存到MongoDB数据库

Node.js 将数组保存到MongoDB数据库,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,假设我有一个MongoDb集合的模式 module.exports = (mongoose, Schema) => { let eventSchema = new Schema({ name: String values: ??? }); return mongoose.model('Event', eventSchema); }; 我收到一个json,如下所示: {"1965"

假设我有一个MongoDb集合的模式

   module.exports = (mongoose, Schema) => {
      let eventSchema = new Schema({
        name: String
        values: ???
      });
    
      return mongoose.model('Event', eventSchema);
    };
我收到一个json,如下所示:

{"1965": 10000000, "1966": 20000000, "1967": 300000}
我希望此数组位于eventSchema的“values”字段中。如何将其保存到数据库中?
年份不同,数组中的对象数也总是不同的。

尝试以下方法:

const payload = { name : "test" , values : {"1965": 10000000, "1966": 20000000, "1967": 300000}
 }

const  event = new Event(payload)

event.save(function (err) {
  if (err) return console.log(err);
  // saved!
});
并确保您的模式为:

let eventSchema = new Schema({
        name: String
        values: Object
      });

非常感谢,我正在考虑子文档,但错过了更简单的解决方案!