У меня есть коллекция mongodb, в которой документ хранится в следующем формате
{
"_id": {
"host_ip": "192.41.15.161",
"date": "2020-02-02T08:18:09.207Z"
},
"path": "/apache_pb.gif",
"request": "GET /apache_pb.gif HTTP/1.0",
"status": 200
}
, где "host_ip" и "date" должны быть составным первичным ключом, т. Е. (Уникальным вместе), и существует индекс _id , который, я думаю, создан на основе этих двух полей
Итак, как я могу сделать запрос на основе host_ip и даты вместе, чтобы можно было использовать индекс "_id"?
Пробовал с помощью db.collection.find({_id: {host_ip: "192.41.15.161", date: {$gte: ISODate('2020-02-02T08:00:00:00.000Z')}}})
, но он не работает, он даже не возвращает запись, которая должна совпадать. Разве это не правильный способ запроса?
Запрос, подобный db.collection.find({"_id.host_ip": "192.41.15.161", "_id.date": {$gte: ISODate('2020-02-02T08:00:00:00.000Z')}})
, работал, но не использует индекс, созданный для "_id"