【问题标题】:How to save array of json object to mongoose?如何将json对象数组保存到猫鼬?
【发布时间】:2017-06-09 14:47:24
【问题描述】:

我正在尝试将对象数组保存到猫鼬模式,但无法将数据加载到laptop 模式中,我只看到一个包含id 的插入。 如何将 json 对象数组保存到猫鼬模式?

controller.js

var laptopData = [
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'HP'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'HP'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'},
{ name: 'Hp probook 15.1',cpu:'2.4GHZ' ,ram: '4GB', harddrive: '160GB',Brand:'Hp'}
]
var laptop = new Laptop({laptopData});
laptop.save(function(err) {
  // we've saved the dog into the db here
  if (err) throw err;

});

schema.js

'use strict';

var mongoose = require('bluebird').promisifyAll(require('mongoose'));

var LaptopSchema = new mongoose.Schema({
  name: String,
  ram:String,
  harddrive:String,
  Brand: String
});

module.exports = mongoose.model('Laptop', LaptopSchema);

【问题讨论】:

标签: json node.js mongodb mongoose


【解决方案1】:

您应该单独创建对象并保存它们。你不能传递这样的数组。在行中使用一些东西

var laptopData = [...];
for(var laptopItem in laptopData){
    new Laptop(laptopData[laptopItem])
      .save()
      .catch((err)=>{
        console.log(err.message);
      });
}

【讨论】:

  • 不错且简单的方法:)
猜你喜欢
  • 2018-07-12
  • 2021-01-30
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多