marty001 发表于 2015-7-10 11:06:07

MongoDB的主键类型修改,记录下

  由于前期设计不周,导致主键 _id是ObjectId, 不方便更新维护,后期修改太过麻烦,特此记录一笔
  //这样将新建一条重复记录,我city 和 category是collection的中的唯一索引
db.CategoryCount.find({ "_id" : { "$type" : 7 } }).forEach(function(x){
  x._id=""+x.city+x.category;
db.CategoryCount.save(x);
});
  //通过上面的调用,已经将记录复制了一份,主键未字符串类型,下面将删除老的ObjectId为主键的记录
db.CategoryCount.remove({ "_id" : { "$type" : 7 } });
  //type对应的类型值为
  类型值Double1String2Object3Array4Binary data5Object id7Boolean8Date9Null10Regular expression11JavaScript code13Symbol14JavaScript code with scope1532-bit integer16Timestamp1764-bit integer18Min key255*Max key127
页: [1]
查看完整版本: MongoDB的主键类型修改,记录下