{
'ID': 'IDexample',
'Coordinates' : [
{'CoordinateX' : 123,
'CoordinateY': 5
},
{'CoordinateX' : 54,
'CoordinateY': 23'
}
]
}
如果在coordinateCollection中存在“IDexample”,如何向数组坐标添加2个元素?如果不存在,则将新文档添加到集合中。 我使用的是MongoClient,集合的名称是coordinatesCollection。
coordinatesCollection.findOne( { "unique_id" : unique_id }, function(err, object){
if (object) {
????
} else {
coordinatesCollection.insert({
"unique_id" : unique_id,
"coordinates" : [
{"coordinateX" :msg.coordinatex,
"coordinateY" : msg.coordinatey
}
]
})
}
});
答案 0 :(得分:0)
试试这个:
coordinatesCollection.findOne( { "unique_id" : unique_id }, function(err, object){
if (object) {
coordinatesCollection.findOneAndUpdate({ "unique_id" : unique_id },
{ $push: {"Coordinates": {$each: [ { "CoordinateX": 5, "CoordinateY": 8 }, { "CoordinateX": 6, "CoordinateY": 7 } ]}}},function(err,data){
if(err){
console.log("err:"+err);
}
else if(data){
console.log("UPDATED:"+data);
}
});
} else {
coordinatesCollection.insert({
"unique_id" : unique_id,
"coordinates" : [
{"coordinateX" :msg.coordinatex,
"coordinateY" : msg.coordinatey
}
]
})
}
});