我试图将纬度/经度点添加到mongo数组字段中,以获得具有点数组作为字段的对象。这是创建{lat:,lng:}对象的嵌套字段的代码。但是,这似乎没有正确设置Kid的points属性。 returnedPoints数组的格式为
[{ lng: '2', lat: '0' },
{ lng: '2', lat: '0' },
{ lng: '2', lat: '0' },
{ lng: '2', lat: '0' },
{ lng: '2', lat: '0' } ]
var returnedPoints = [];
for (p in pf.particles) {
returnedPoints.push({"lng" : p[0], "lat": p[1]});
}
var newPoints =
{
"kidID": id,
"center": {"lng": kid.center.lng, "lat": kid.center.lat},
"destination": {"lng": dest[0], "lat": dest[1]},
"points": returnedPoints,
"gpsPoints" : pf.GPSPoints(),
"time": clock_time
};
kidMaker.pushKid(
newPoints,
function(err, kids) {
if (err) {
res.send(err);
}
}
);
将对象插入数组的代码看起来很标准,在这里:
childMaker.prototype.pushKid = function(kid, callback) {
Kid.update({ "kidID" : kid.kidID },
kid,
{ upsert : true },
function(err, doc) {
console.log(err);
if (!err) {
callback(null, doc);
}
}
);
}

我怎样才能一次将超过20000个lat / lng点设置到Mongo数据库中?