我收集的MongoDB这样MongoDB中两个键相结合,一个键
{id:jdhdhjdhdjfh,
time:2012.12.1,
longitude:121.32,
latitude:32.41}
怎么改这样
{id:jdhdhjdhdjfh,
time:2012.12.1,
GPS:[121.32,32.41]}
我收集的MongoDB这样MongoDB中两个键相结合,一个键
{id:jdhdhjdhdjfh,
time:2012.12.1,
longitude:121.32,
latitude:32.41}
怎么改这样
{id:jdhdhjdhdjfh,
time:2012.12.1,
GPS:[121.32,32.41]}
没有这样做,有一个操作的直接方式。您需要迭代所有收集文档并更新每个文档。
这将是这样的:
db.collection.find().forEach(function(doc){
db.collection.update(
{"_id":doc._id},
{
"$set":{
"GPS":[doc.longitude, doc.latitude]
},
"$unset" : {longitude : "", latitude : ""}
}
);
})
另一种方式:
var a = db.temp.find({_id : "jdhdhjdhdjfh"}, {_id : 0, longitude : 1, latitude : 1})
var obj = {};
obj["GPS"] = [a[0].longitude, a[0].latitude]
db.temp.update({_id : "jdhdhjdhdjfh"},
{$set : obj, $unset : {longitude : 1, latitude : 1} }
)
非常感谢你much.That真的帮了我。 – lijia 2015-02-11 02:43:50