Mongoose - 是否可以修改key的值以匹配find()查询的where条件?

时间:2017-04-06 04:12:31

标签: javascript node.js oracle mongodb mongoose

我非常熟悉Oracle,突然之间我不得不用MongoDB数据库创建一个项目。我正在使用mongoose连接到我的MongoDB。我的问题是,在进行查询之前是否可以匹配查找条件? 例如,我在MongoDB中得到了这个name : John,然后我只需要通过Oracle SQL来完成这个。



SELECT * FROM MY_SCHEMA.WORKERS WORKER
WHERE UPPER(WORKER.NAME) = 'JOHN'




在mongoDB中,我所知道的和能做的就是这个。



var mongoose = require('mongoose');
mongoose.connect('localhost:27017/myDB');
workers.find(
  {
    "name": "JOHN"
  }
);




我一直在寻找解决方案但无法找到解决方案。有没有办法将name的值设置为大写以匹配我需要的结果?

任何帮助将不胜感激:)

编辑: 我通过使用RegExp()为mongoose找到了解决这个问题的方法。 RegExp将使我的mongoDB文档不区分大小写,以匹配我的查询参数。这个答案的更多细节。 https://stackoverflow.com/a/9824712/7498283

2 个答案:

答案 0 :(得分:1)

如果您想使用大写字母进行查找,可以使用import React from 'react'; const App = (props) => ( <div className="wrapper"> <h1>Welcome to App!!!!</h1> </div> ); export default App; 的javascript。 refer-doc

尝试以下代码:

toUpperCase()

希望这会有所帮助。

答案 1 :(得分:0)

您可以在mongodb中使用$ toUpper运算符。

    worker.aggregate([
           {$project: {"name":{$toUpper:"$name"}}},
           {$find:{"name":"JOHN"}}
    ]);