db.testCollection.createIndex({ _id: 1 }, {name: "_id_2", unique: true, background: true})
コマンドは、mongoバージョン3.4.2では3.2.11ではなく失敗します。 mongoのドキュメントは、バージョン3.4がunique
とbackground
の両方の属性をサポートしていることを示しています。モンゴの3.4.2が失敗したmongodb 3.4.2 InvalidIndexSpecificationOptionエラー: 'unique'フィールドが_idインデックス指定に無効です
...
> use testDB
switched to db testDB
> db.testCollection.createIndex({ _id: 1 }, {name: "_id_2", unique: true, background: true})
{
"ok" : 0,
"errmsg" : "The field 'unique' is not valid for an _id index specification. Specification: { ns: \"testDB.testCollection\", v: 1, key: { _id: 1.0 }, name: \"_id_2\", unique: true, background: true }",
"code" : 197,
"codeName" : "InvalidIndexSpecificationOption"
}
>
モンゴ3.2.11作品...
> use testDB
switched to db testDB
> db.testCollection.createIndex({ _id: 1 }, {name: "_id_2", unique: true, background: true})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 1,
"note" : "all indexes already exist",
"ok" : 1
}
>
誰でも周りの仕事を知っていますか?
Mongooseインデックスを作成するためにMongoose Node.jsラッパーを使用しているため、unique
属性とbackground
属性を追加しないことはオプションではありません。
乾杯!どのような最初の1:
エドユニークがここでの問題ではないことを
ありがとうございました.Jussi、that's it。冗長なインデックス作成要求を指摘していた3.2.11の注釈を私は突き止めなかった。あなたがそれを指摘したので、今明らかです。 – icedawn