我的收藏文件
{
"_id": 1,
"location": "New York",
},
{
"_id": 2,
"location": "New Jersey",
}
我可以连接我的名字和价值,并产生类似这样的输出,=我认为这是不可能的,但如果有任何解决方法请帮助
{
"_id": 1,
"New York location": "New York",
},
{
"_id": 2,
"New Jersey location": "New Jersey",
}
答案 0 :(得分:0)
它无法在查询中实现,但肯定可以通过shell脚本实现
db.collection.find({'location':{$exists : true}}).forEach(function(doc){var newField =
doc.location+" location";db.collection.update(doc,{$rename :{'localtion':newField}});})
如果您的收藏非常大并且您遇到内存问题,则可以使用限制多次
db.collection.find({'location':{$exists : true}}).limit(1000).forEach......
同一过程的另一个变体是
db.collection.find({'location':{$exists : true}}).forEach(function(doc){var newField =
doc.location+" location"; doc[newField]=doc.location; delete doc.location;
db.collection.save(doc);})