ITPub博客

首页 > 数据库 > NoSQL > mongodb 重复建立索引不报错

mongodb 重复建立索引不报错

原创 NoSQL 作者:wei-xh 时间:2014-01-23 09:30:52 0 删除 编辑
wxh:PRIMARY> db.coll.stats()
{
        "ns" : "test.coll",
        "count" : 4,
        "size" : 144,
        "avgObjSize" : 36,
        "storageSize" : 4096,
        "numExtents" : 1,
        "nindexes" : 3,
        "lastExtentSize" : 4096,
        "paddingFactor" : 1,
        "systemFlags" : 1,
        "userFlags" : 0,
        "totalIndexSize" : 24528,
        "indexSizes" : {
                "_id_" : 8176,
                "id2_1" : 8176,
                "x_1" : 8176
        },
        "ok" : 1
}
wxh:PRIMARY> db.coll.ensureIndex({x:1} ,{unique:true})
wxh:PRIMARY> db.coll.ensureIndex({x:1} ,{unique:true});db.runCommand({getLastError : 1})
{
        "n" : 0,
        "lastOp" : Timestamp(1390440428, 1),
        "connectionId" : 86,
        "err" : null,
        "ok" : 1
}

wxh:PRIMARY> db.oplog.rs.find().sort({$natural:-1}).limit(2)
{ "ts" : Timestamp(1390440428, 1), "h" : NumberLong("-5546458038095236090"), "v" : 2, "op" : "i", "ns" : "test.system.indexes", "o" : { "_id" : ObjectId("52e06fec385d871d833ea696"), "ns" : "test.coll", "key" : { "x" : 1 }, "name" : "x_1", "unique" : true } }
{ "ts" : Timestamp(1390440384, 1), "h" : NumberLong("1177839887768694332"), "v" : 2, "op" : "i", "ns" : "test.system.indexes", "o" : { "_id" : ObjectId("52e06fc0385d871d833ea695"), "ns" : "test.coll", "key" : { "x" : 1 }, "name" : "x_1", "unique" : true } }

MONGODB重复在已经存在索引的列上建立索引不报错,而且OPLOG里也会把这个操作记录进去,但是其实后台发现这个列上已经存在索引,并不会真正的去创建。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-1074361/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 个人paper下载页
请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2315242