MongoDB的主键类型修改,记录下
2013-01-01 20:52
2611 查看
由于前期设计不周,导致主键 _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对应的类型值为
//这样将新建一条重复记录,我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对应的类型值为
类型 | 值 |
---|---|
Double | 1 |
String | 2 |
Object | 3 |
Array | 4 |
Binary data | 5 |
Object id | 7 |
Boolean | 8 |
Date | 9 |
Null | 10 |
Regular expression | 11 |
JavaScript code | 13 |
Symbol | 14 |
JavaScript code with scope | 15 |
32-bit integer | 16 |
Timestamp | 17 |
64-bit integer | 18 |
Min key | 255* |
Max key | 127 |
相关文章推荐
- 修改数据类型+增加列+修改列名+设置主键+设置键值默认值+sys_guid函数
- 如何修改表的ID主键 使的在删除了一些记录后把新增的记录插入到删除记录的位置
- MongoDb中修改记录的指定字段
- oracle修改主键列类型
- mongodb查看操作记录方法以及用户添加删除权限修改密码
- 如何修改表的ID主键 使的在删除了一些记录后把新增的记录插入到删除记录的位置
- 修改表主键字段数据类型(up_ModifyPrimaryColumn)
- mongodb中的ObjectId类型主键
- ASP.NET Identity 修改表名和主键类型
- MySQL中日期类型数据的使用:如何让字段保存记录的创建时间和最后修改时间
- MongoDB修改数据类型
- 修改表主键字段数据类型(up_ModifyPrimaryColumn)
- MongoDB数据类型查询与修改
- 2014年4月1日MySQL学习记录--mysql数据类型及占用空间&&修改表的语法
- 修改订单号数据类型4:复制订阅的主键限制 修改后
- 修改Oracle数据库表的主键对应列的数据类型
- Hibernate新增一条记录,主键为varchar类型的解决办法
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- Mongodb修改列的数据类型
- 修改Mongodb数据类型