【问题标题】:Adding Object to Array with Mongoose Node JS使用 Mongoose Node JS 将对象添加到数组
【发布时间】:2015-06-02 07:30:55
【问题描述】:

我在 Mongoose 中有一个 User 类,如下所示:

module.exports = mongoose.model('User',{

    Email: String,
    Password: String,
    Firstname: String,
    Lastname: String,
    Address: String,
    Address_State: String, //index
    Zipcode: Number,

    Cars: [

        {

            Make: String,
            Model: String,
            Year: Number,
            Mileage: Number,
            Vin: String
        }

    ]
});

我在另一部分代码中创建了一个用户对象,其中包含

var user = new User({
    Email: email,
    Firstname: firstname,
    Lastname: lastname
});

我想将汽车列表添加到对象中。

我已经尝试过

for(var motor in transportation.results) {

           user.Cars.push({

                           Make: motor.make,
                           Model: motor.model,
                           Year: motor.year,
                           Mileage: Number

                            });

}

但我得到的结果是

{
"Email":"derrick@curiousminds.com",
"Firstname":"Derrick",
"Lastname":"Franco",
"_id":"556cdfb06b98604d04d73900",
"Cars":[{"_id":"556cdfb06b98604d04d73901"}]
}

是否有特定的函数或方法可以将对象添加到 mongoose 对象中的数组中?

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    先尝试创建数组,然后再将其添加到新用户对象的 Cars 数组字段中。考虑以下几点:

    var cars = [];
    for(var motor in transportation.results) {
        cars.push({
            Make: motor.make,
            Model: motor.model,
            Year: motor.year,
            Mileage: motor.mileage
        });
    }
    
    var user = new User({
        Email: email,
        Firstname: firstname,
        Lastname: lastname,
        Cars = cars
    });
    
    user.save(function (err) {
        if (!err) console.log('Success!');
    });
    

    【讨论】:

      【解决方案2】:

      问题是我的循环方式,我必须改变

      for(var motor in transportation.results) {
      
                 user.Cars.push({
      
                                 Make: motor.make,
                                 Model: motor.model,
                                 Year: motor.year,
                                 Mileage: Number
      
                                  });
      
      }
      

      到 for 中的迭代器循环

      for(var i = 0; i < transportation.results.length; i++) {
      
           user.Cars.push({Make: transportation.results[i].make,
                           Model: transportation.results[i].model,
                           Year: transportation.results[i].year
      
                           });
      
      }//for loop
      

      【讨论】:

        猜你喜欢
        • 2019-02-13
        • 1970-01-01
        • 2017-08-17
        • 2019-04-23
        • 2021-09-01
        • 2021-07-04
        • 2016-10-24
        • 1970-01-01
        • 2021-06-04
        相关资源
        最近更新 更多