如何只查看mongoose中值的第一个字母来查找所有文档

时间:2017-01-24 18:41:47

标签: mongodb mongoose mongodb-query mongoose-schema mongoose-populate

我想通过它的第一个字母找到所有文件。

案例是我在mysql中查询然后我可以WHERE Stores LIKE 'a%'

the result would be all data with the first letter a.

问题是:

  • 如何使用query制作相同的mongoose
  • case-sensitive eg: (a,A)怎么样?它会是同一个查询吗?
  • 是否有必要为此案例创建lowercase_field

1 个答案:

答案 0 :(得分:4)

为此目的有一个$regex运算符,查询将如下所示:

Model.find({"name": {$regex: /^a/, $options: 'i'}}).exec(callback);

可以简化为:

Model.find({"name": /^a/i}}).exec(callback);

如果您需要在查询中传递变量:

var char = 'a';
Model.find({"name": {$regex: '^' + char}, $options: 'i'}}).exec(callback);