【问题标题】:Mongo - Open Food Facts dataset - How to find all products that contains a certain substring in a stringMongo - Open Food Facts dataset - 如何在字符串中查找包含某个子字符串的所有产品
【发布时间】:2019-06-30 04:36:58
【问题描述】:

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

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

我已经彻底搜索了其他主题和线程,我来到了这个查询:

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

我们是否同意这给我所有没有category,并且ingredients_text 字符串包含水(不区分大小写)或大蒜(不区分大小写)的产品?

非常感谢!

阿诺

【问题讨论】:

    标签: string mongodb search mongodb-query substring


    【解决方案1】:

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

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

    ()

    【讨论】:

    • 非常感谢您的回答!所以,'in' 不应该用于文本搜索,但可以像我当时对类别一样用于空?
    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 2016-03-03
    • 2012-06-28
    • 2011-01-28
    • 2011-01-07
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多