_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, '作成':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"
}