Когда я пытаюсь создать составной индекс на своем сервере Atlas, он не показывает ошибок, но индекс не создается.
Пробуя через оболочку, я получаю следующее:
MongoDB Enterprise mongos> db.myCollection.createIndex( {"user_id": "hashed", "identifier": 1, "timestamp": 1} )
{
"raw" : {
"atlas-lgwyih-shard-1/atlas-lgwyih-shard-01-00.kqohn.mongodb.net:27017,atlas-lgwyih-shard-01-01.kqohn.mongodb.net:27017,atlas-lgwyih-shard-01-02.kqohn.mongodb.net:27017" : {
"ok" : 0,
"errmsg" : "Caught exception during index builder initialization my-db.myCollection (c22f2095-1221-43cd-80af-13f2fb3afaff): 1 provided. First index spec: { ns: \"my-db.myCollection\", v: 2, key: { user_id: \"hashed\", identifier: 1.0, timestamp: 1.0 }, name: \"user_id_hashed_identifier_1_timestamp_1\" }",
"code" : 16763,
"codeName" : "Location16763"
}
},
"code" : 16763,
"codeName" : "Location16763",
"ok" : 0,
"errmsg" : "Caught exception during index builder initialization my-db.myCollection (c22f2095-1221-43cd-80af-13f2fb3afaff): 1 provided. First index spec: { ns: \"my-db.myCollection\", v: 2, key: { user_id: \"hashed\", identifier: 1.0, timestamp: 1.0 }, name: \"user_id_hashed_identifier_1_timestamp_1\" }",
"operationTime" : Timestamp(1596400670, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1596400671, 4),
"signature" : {
"hash" : BinData(0,"oh8t17bzKDwsyxv4WzK5suDFP9U="),
"keyId" : NumberLong("6855996587379516447")
}
}
}
Пока что у меня есть только индекс по умолчанию для коллекции:
MongoDB Enterprise mongos> db.getCollection("myCollection").getIndexes()
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "my-db.myCollection"
}
]
Обратите внимание, что мне нужен этот индекс в этом порядке, потому что я хочу сегментировать коллекцию с ключом сегмента, находящимся на хешированном User ID.
Что вызывает эту ошибку?