Mongo - Набор данных Open Food Facts - Как найти все продукты, которые содержат определенную подстроку в строке - PullRequest
0 голосов
/ 06 февраля 2019

Я работаю с набором данных Open Food Facts (wget https://static.openfoodfacts.org/data/openfoodfacts-mongodbdump.tar.gz) в базе данных Mongo.

Я пытаюсь получить все продукты из таблицы db.products, для которых строка ingredients_textсодержит определенный текст (вода, чеснок, ...) и не содержит category.

Я тщательно искал другие темы и темы и пришел к этому запросу:

db.products.find({categories:{$in:[null,""]},ingredients_text:{$in:[/water/,/garlic/i]}}).count()

Можем ли мы согласиться, что это дает мне все продукты без category, для которых строка ingredients_text содержит либо воду (без учета регистра), либо чеснок (без учета регистра)?

Большое спасибо!

Арно

1 Ответ

0 голосов
/ 06 февраля 2019

Вот запрос.Я надеюсь, что это будет работать, так как вы передаете регулярное выражение в "в" операторе это не будет работать.вы должны использовать $ regex для этого

db.products.find({categories:{$in:[null,""]},ingredients_text:{$regex:"(water|garlic)",$options:"$i" }}).count();

()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...