regex - MongoDB 正则表达式返回“like”而不是“literal”匹配
问题描述
我需要执行不区分大小写的查找。但是我得到了一个不区分大小写的“like”返回,其中“like”我的字符串匹配的东西
我可以通过添加 ^ 和 $ 在控制台或工具中克服这个问题 - 但是当我将 var 传递给查询时,我无法弄清楚如何在代码中做到这一点。
module.exports.getCollege = function( name, callback ) {
const query = [
{
$match: {
'name': { $regex: name, $options: 'i' }
}
},
{
$project: {
'address': 1,
'name': 1
}
}
];
College.aggregate( query ).exec( callback );
}
这返回
密歇根大学(对象)、密歇根大学弗林特校区(对象)
我只想要密歇根大学(对象)
如何获得 LITERAL 匹配,但不区分大小写???
+++++++++++++++++++++++++++++++
对 D. SM 的回应——“使用排序规则……”
返回正确,因为字符串是正确的..
解决方案
如何获得 LITERAL 匹配,但不区分大小写???
在查询中指定排序规则并使用 $eq 而不是 $regex。
推荐阅读
- javascript - 使用 NodeJS 和 Mongoose 在 MongoDB 中打开了多个连接
- c# - 在 Crystal Reports 中获取数据库字段名称
- android - 如何使用虚线选择调整 TextView 高度、宽度和旋转
- c - C - Windows 和 Unix 上的可移植代码
- python - Graph.create_png 错误类型错误:序列项 0:预期的 str 实例,找到的字节
- c# - 如何在给定小数/精度的情况下获得下一个小数
- android - 如何在android中获取Room数据库的行数?
- c# - 在 MVC 应用程序的下拉列表中显示当前 3 个月
- webgl - 在 WebGL 中将数据加载到纹理中的最快方法
- scala - 如何使用 sbt 维护构建的版本号?