如何在MongoDB中搜索特定模式?

时间:2015-11-27 07:00:40

标签: mongodb meteor mongodb-query

我在Meteor中遇到问题,因为我对MongoDB并不熟悉。

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

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

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

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

名称{}内是搜索查询的位置。它只会在名称准确时给我结果。如果它在Java中有contains,我就无法在mongo文档中找到它。

1 个答案:

答案 0 :(得分:1)

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

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

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