Я ищу запрос в mongodb, который удовлетворит мое условие поиска. У меня есть запись в коллекции БД:
{
"_id": ObjectId("5b3d970398e9d099427896c3"),
"role": "New Booking is there by abc",
"date": "07/04/2018",
"idaddress": "213.123.123.213",
"booking": {
"bedroom": 4,
"bathroom": 6,
"customer": "abc",
"email": "abc@gmail.com",
"provider": "provider1",
"address": "brazil",
"appt": "123456",
"phone": "987654321"
}
}
В этой записи booking
объект имеет 8 полей и для поиска я использую запрос:
db.collection_name.find({ "booking.field_name" : {$regex : /data$/}})
Чтобы найти значение, соответствующее каждому полю (клиент, электронная почта, поставщик, адрес, приложение, телефон), мне нужно написать одну и ту же строку с именем поля, но если у меня есть 100 полей под объектом бронирования, тогда мне нужно написать одну и ту же строку 100 раз с каждым именем поля.
Я ищу запрос, который ищет в каждом поле, для этого я пробовал условие $ text, например: bson.M {"_ id": bson.M {'$ type': "objectId"}}
Но условие $ text будет выполнять поиск только по полному слову, а не по слову с регулярным выражением. Пример: - "This is a string"
в этой строке я хочу выполнить поиск по слову "str"
, но не будет отображаться соответствующая запись с ним.
Кто-нибудь предложит какой-нибудь пример для этого. Это займет у меня много времени.
За помощь в решении этой проблемы. Спасибо.