Правильное создание индекса в коллекции таймсерий mongodbPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Правильное создание индекса в коллекции таймсерий mongodb

Сообщение Anonymous »

Я пытаюсь создать индексы для вложенной коллекции временных рядов mongo db.
Моя версия mongo db, полученная путем запуска mongod --version, — v3.6.8.
Схема временных рядов соответствует предложенной.
В моей коллекции есть такая схема:

Код: Выделить всё

validator = {
"$jsonSchema": {
"bsonType": "object",
"required": ["timestamp", "metadata", "measurements"],
"properties": {
"timestamp": {
"bsonType": "long",
},
"metadata": {
"bsonType": "object",
"required": ["type", "sensor_id"],
"properties": {
"type": {
"bsonType": "string",
"description": "Measurement type"
},
"sensor_id": {
"bsonType": "string",
"description": "sensor id"
}
}
},
"measurement": {
"bsonType": "array",
"description": "must be an array and is required",
"items": {
"bsonType": "double",
"description": "must be array of float and is required"
},
"minItems": 3,
"maxItems": 3,
},
}
}
}
При использовании компаса Mongo db для доступа к базе данных при переходе на страницу индекса красным отображается сообщение: Нераспознанное выражение '$toDouble()':
Изображение

Я думал, что это происходит потому, что у меня еще не определил ни одного индекса. Итак, в Pymongo я пытаюсь создать индексы типа вложенных полей и Sensor_id с помощью строки:

Код: Выделить всё

mydb.mycollection.create_index(
[
("attrs.nested.sensor_id", pymongo.ASCENDING),
("attrs.nested.type", pymongo.ASCENDING)
])
Но сообщение об ошибке компаса Mongo Db продолжает показывать ошибку:
  • как решить эту ошибку компаса Mongodb< /li>
Кроме того, я не уверен, что индексы определены правильно, потому что если я создам поддельный индекс, например:

Код: Выделить всё

mydb.mycollection.create_index(
[
("attrs.nested.unexisting_field", pymongo.ASCENDING),
])
ошибка не генерируется, хотя указанное поле не существует: 2) есть ли способ проверить правильность индекса

Подробнее здесь: https://stackoverflow.com/questions/778 ... collection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»