Mongo-开放式食品事实数据集-如何查找字符串中包含某个子字符串的所有产品

时间:2019-02-06 09:10:17

标签: string mongodb search mongodb-query substring

我正在使用Mongo DB上的Open Food Facts数据集(wget https://static.openfoodfacts.org/data/openfoodfacts-mongodbdump.tar.gz)。

我正在尝试从表db.products中获取所有产品,其中字符串ingredients_text包含特定文本(水,大蒜,...),并且没有任何{{ 1}}。

我已经在其他主题和主题上进行了彻底的搜索,我来到了这个查询:

category

我们可以同意这为我提供所有不带db.products.find({categories:{$in:[null,""]},ingredients_text:{$in:[/water/,/garlic/i]}}).count()category字符串包含水(不区分大小写)或大蒜(不区分大小写)的产品吗?

非常感谢!

Arnaud

1 个答案:

答案 0 :(得分:0)

这是一个查询。我希望它会起作用,因为您正在“ in” 运算符中传递正则表达式,因此它将不起作用。您必须使用 $ regex

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

()