我在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文档中找到它。
答案 0 :(得分:1)
以下查询将返回名称以d
开头并且metadata.category
设置为samecategory
的文档子集:
Ducks.find({"metadata.category": "samecategory", "name": /^d/});
正则表达式/^d/
类似于LIKE 'd%'
。