我对 Oracle 非常熟悉,突然我必须使用 MongoDB 数据库创建一个项目。我正在使用 mongoose 连接到我的 MongoDB。我的问题是,在执行查询之前是否可以匹配查找条件?
例如,我在 MongoDB 中得到了这个名称: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() for mongoose 找到了这个问题的解决方案。 RegExp 将使我的 mongoDB 文档不区分大小写以匹配我的查询参数。更多详细信息请参阅此答案。 https://stackoverflow.com/a/9824712/7498283
最佳答案
如果你想用大写字母进行查找,你可以使用javascript的toUpperCase()
。 refer-doc .
尝试下面的代码:
workers.find(
{
"name": ("JOHN").toUpperCase()
});
希望这会有所帮助。
关于javascript - Mongoose - 是否可以修改键的值以匹配 find() 查询的 where 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43245578/