coordinatesCollection.findOne({
"unique_id": unique_id,
}, function(err, object) {
if (object) {
coordinatesCollection.update({
"unique_id": unique_id
}, {
$push: {
coordinates: {
"coordinateX": msg.coordinatex,
"coordinateY": msg.coordinatey,
"ms_time": ms_time,
"page": msg.page,
}
}
})
} else {
coordinatesCollection.insert({
"unique_id": unique_id,
"coordinates": [{
"coordinateX": msg.coordinatex,
"coordinateY": msg.coordinatey,
"ms_time": ms_time,
"page": msg.page,
}]
})
}
});
});
此代码的目的是:如果存在unique_id,则添加坐标,坐标,ms_time和页面以坐标数组,如果不存在,则插入unique_id和新数组到坐标。当我看到该集合时,我发现了具有相同唯一_id的多个文档。怎么了?
对于此问题,我建议您仅在QUERY中使用$exists
语句更新功能。