Concat在mongodb中的名称和值

时间:2016-11-18 10:46:39

标签: mongodb aggregation-framework

我的收藏文件

 {
    "_id": 1,
    "location": "New York",
  },
  {
    "_id": 2,
    "location": "New Jersey",
  }

我可以连接我的名字和价值,并产生类似这样的输出,=我认为这是不可能的,但如果有任何解决方法请帮助

  {
    "_id": 1,
    "New York location": "New York",
  },
  {
    "_id": 2,
    "New Jersey location": "New Jersey",
  }

1 个答案:

答案 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);})