按首字母排序

时间:2019-07-03 14:58:50

标签: node.js mongodb

使用nodejs通过首字母形式mongodb获取数据

let letter = req.params.letter || 'a';

let allMoviesStartedWithLetter = await Movies.find({name : {$regex : 
'^{letter}', $options: 'i'}}).count();

是否想将字母变量传递给$ regex来做到这一点?

2 个答案:

答案 0 :(得分:0)

使用RegExp构造函数创建正则表达式:

new RegExp(`^${letter}`, "i")

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

  

使用构造函数可以在运行时对正则表达式进行编译。当您知道正则表达式模式将要更改,或者您不知道该模式并从其他来源(例如用户输入)获取该模式时,请使用构造函数。

答案 1 :(得分:0)

您可以尝试一下,只需将字符串连接起来即可:

let letter = req.params.letter || 'a';

let allMoviesStartedWithLetter = await Movies.find({
    name : {$regex : '^'+letter, $options: 'i'}
}).count();