Я пытаюсь создать индекс Mongo с двумя текстовыми полями, при этом любое поле может иметь значение в другом документе, но одна и та же пара не может. Я знаком с этой концепцией в MySQL, но не понимаю его в монго.
Я хотел бы создать уникальный индекс для полей symbol
и date
этих документов:
db.earnings_quotes.insert({"symbol":"UNF","date":"2017-01-04","quote":{"price": 5000}});
db.earnings_quotes.createIndex({symbol: 'text', date: 'text'}, {unique: true})
db.earnings_quotes.insert({symbol: 'HAL', date: '2018-01-22', quote: { "price": 10000 }});
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 11000,
"errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: sample.earnings_quotes.$symbol_text_date_text dup key: { : \"01\", : 0.6666666666666666 }"
}
})
Я не понимаю сообщение об ошибке здесь... В этом случае ни symbol
, ни date
не пересекаются с первой записью.