【问题标题】:How to search for a specific pattern in MongoDB?如何在 MongoDB 中搜索特定模式?
【发布时间】:2015-11-27 07:00:40
【问题描述】:

我在 Meteor 中的查询遇到问题,因为我不太熟悉 MongoDB。

这是一个包含两个文档的示例集合。

Ducks: 
[{
   name: "duck1"
   metadata: {
       id: "id_1",
       category: "samecategory"
   }
},
{
   name: "daffy"
   metadata: {
       id: "id_2",
       category: "samecategory"
   }
}]

我从大气中实现了搜索功能。我想要实现的是,当我搜索例如:d 时,结果将是两只鸭子。 du 只会是duck1 并且自然da 只会是愚蠢的。也使它们将按相同的类别进行过滤。

"$and": [{"name": {}}, {"metadata.category": "samecategory"}]

在名称{} 内部是搜索查询的位置。它只会在名称准确时给我结果。我在 mongo 文档中找不到 contains 就像在 Java 中一样。

【问题讨论】:

    标签: mongodb meteor mongodb-query


    【解决方案1】:

    以下查询将返回名称以d 开头并将metadata.category 设置为samecategory 的文档子集:

    Ducks.find({"metadata.category": "samecategory", "name": /^d/});
    

    正则表达式/^d/类似于LIKE 'd%'

    【讨论】:

    • 你可以在mongo中使用正则表达式吗?
    • 当然可以。还要记住性能。 mongodb 中也有文本查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2020-04-12
    • 1970-01-01
    相关资源
    最近更新 更多