如何同时推送两个数组MongoDB + Node.Js

时间:2014-10-02 14:02:45

标签: node.js mongodb push

我试图在mongo中从我的数据库中推送一个数组中的信息。但是我要保存的信息有另一个数组。

我的模特:

var hotelSchema = new Schema({
  version: Number,
  name: String,
  services: [{
    name: String,
    price: Number,
    description: String,
    images:[{
      url: String,
      md5: String,
      ext: String
    }],
    subservices:[{
      name: String,
      price: Number 
    }]
}]});

现在,我想添加一个服务,这就是我使用的方式:

   var u=req.body;
   var subServices= [];
   for(var i=0;i<u.nameSub.length;i++)
   {
    subServices.push({nombre: u.nameSub[i], precio: u.priceSub[i]});
   }
    Hotel.update({ "_id": doc._id},
                  {$push: {services:
                     {
                        name: u.name,
                        price: u.price,
                        description: u.desc,
                        subservices:subServices

                     }}}, function(err, result){  });

MongoDB保存那个查询但在子服务中只保存“_id”。结果是(在这种情况下,我想添加3个子服务):

{
 "name" : "service",
 "price" : 10,
 "description" : "service test",
 "_id" : ObjectId("542c64c0dd8de1340515c43f"),
    "subservices" : [{
      "_id" : ObjectId("542c64c0dd8de1340515c442")
      },
      {
       "_id" : ObjectId("542c64c0dd8de1340515c441")
      },
      {
       "_id" : ObjectId("542c64c0dd8de1340515c440")
      }],
    "images" : []
}

我需要帮助。谁知道我该怎么做?

PD:抱歉我的英文不好

0 个答案:

没有答案