将数据推送到多维mongodb文档

时间:2017-07-27 09:52:39

标签: node.js mongodb

您好我有多维mongoDB文档现在我想将新记录推送到位置提交相同对象时间,lat,lng

这是我的数据库记录

{
    "_id" : ObjectId("5979b1a81c4547652583397e"),
    "shenase" : "002",
    "name" : "??? ?????",
    "vehicle" : "?????",
    "locations" : {
        "time" : "2017-07-27 13:55:30",
        "latiude" : 35.7429305,
        "langtiude" : 51.5001943
    }
}

我想知道如何使用节点js

1 个答案:

答案 0 :(得分:0)

首先,您的数据库架构不正确。位置必须是数组而不是对象。所以记录必须是

{
  "_id" : ObjectId("5979b1a81c4547652583397e"),
  "shenase" : "002",
  "name" : "??? ?????",
  "vehicle" : "?????",
  "locations" : [
    "time" : "2017-07-27 13:55:30",
    "latiude" : 35.7429305,
    "langtiude" : 51.5001943
  ]
}

现在要将新记录推送到数组上,您只需编写

即可
var data = {
    "time":"2017-07-29 13:55:30",
    "latitude": 18.0667,
    "longitude": 45.99890
};

YourModel.update(
   { _id: toBeUpdated._id }, 
   { $push: { location: data } },
   function(err,data){
       console.log(err,data);
   }
);