У меня проблема с получением индексов в MongoDB для корректной работы при индексации во встроенных документах.Индексы работают хорошо, если внутренний ключ - простая строка, но из-за моего формата данных внутренние ключи часто должны быть URI, и это, кажется, не работает, глядя на журнал Mongo, когда я пытаюсь создать индексы, в которых говорится, чтоиндексы создаются, но он добавляет каждый документ в индекс.
Существует ли причина, по которой индексы для имен свойств этого типа не работают и что я могу сделать, чтобы избежать этой проблемы?
Пример документа
{
name: "some-name",
graph:
{
"http://example.org/subject" :
{
"http://example.org/predicate" :
[
{ "value" : "http://example.org/object", "type" : "uri" }
]
}
}
}
Альтернативная схема, которая позволяет избежать проблемы
Теперь я изменил свой код, чтобы использовать альтернативную схему, которая позволяет избежать этой проблемыпоскольку URI теперь всегда являются значениями, а не именами свойств, а схема позволяет мне правильно использовать многопользовательские индексы в MongoDB:
{
name : "some-name",
graph : [
{
"subject" : "<http://example.org/subject>" ,
"predicate" : "<http://example.org/predicate>" ,
"object" : "<http://example.org/object>"
}
]
}