我無法刪除_id索引,爲什麼?mongodb:如何將一個字段添加到由複合索引組成的_id索引中
當我嘗試運行dropIndexes
命令時,它將刪除所有索引,但不刪除_id索引。
做'db.runCommand'
無法正常工作或:
> db.runCommand({dropIndexes:'fs_files',index:{_id:1}})
{ "nIndexesWas" : 2, "errmsg" : "may not delete _id index", "ok" : 0 }
也不行。
我可以在複合索引中使用包含_id的字段嗎?
我在網上找不到任何東西,ensureindex
命令不能這樣做。
db.fs_files.ensureIndex({'_ id':1,'created':1});
上述命令剛剛創建了一個新的組合索引。我還沒有找到一些類似的「創建索引」命令。
默認_id索引是一個唯一索引嗎?
getIndexes
返回它不是一個唯一索引。
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "gridfs.fs_files",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"created" : 1
},
"unique" : true,
"ns" : "gridfs.fs_files",
"name" : "created_1"
}
正如泰勒所說,你不能刪除索引_id。但是你可以創建一個包含_id的複合索引。 - 是的_id是默認的唯一索引。 – 2013-05-09 18:05:39