2016-02-19 54 views
2

我想要做一些应该很容易,但我认为我误解了文档。在流星我正在寻找一个特定的文本字符串,如果它被发现,然后返回该文档。流星文本搜索

所以收集可能具有以下结构:

{ 
    ... 
    DONATE: "15,16,17", 
    Amount: "3000,2000,1000", 
    Address: "123 Main Street", 
    ... 
} 

然后,如果捐款字符串包含“15”,例如,然后返回该文档。例如:

Demographic.findOne({ DONATE: { text: "15"}}); 

我读过this,但我不确定它是否有关系。

回答

1

MongoDB中有一个$regex操作

https://docs.mongodb.org/manual/reference/operator/query/regex/

Demographic.findOne({ DONATE: { $regex: /15/ } }); 

如果找到匹配,它将返回这样

{"_id": ObjectId("jsdkflsdjfklsdfjklsdf", "DONATE": "15,16,16")} 

一个蒙戈对象,否则它会返回null

经过测试在我的控制台,它的作品!

+0

是的,那是有效的。如果有其他人,我也有同样的情况,例如,如果您在名为'donate'的变量(来自Session或任何地方)中获得值“15”,则删除斜线:​​Demographic.find({DONATE:{ $ regex:donate}}); –