KMongo 个查询产生与 Mongo Shell 不同的结果
KMongo queries producing different results from Mongo Shell
我目前正在使用 KMongo,它非常好。使用简单,语法优美等
但是我 运行 在查询一些我无法弄清楚的数据时遇到了问题。我正在过滤某些字段,当我 运行 我对 Mongo Shell
或 robo 3T
的查询时,它工作正常。然而,当我尝试在我的 Kotlin 应用程序上 运行 时,它(仅在某些情况下)不起作用。我是这样查询的:
collection.find(
MyEntity::name regex filter.name,
MyEntity::role eq filter.role,
)
但我也尝试用接收过滤值的本机查询编写一个字符串,但我遇到了同样的问题。一个具体的例子是这个查询:
{ 'role': 'VENDOR', 'name': 'Internal Revenue Service'}
如果我 运行 在 robo 3T
上这样:
db.getCollection('MyEntity').find({ 'role': 'VENDOR', 'name': 'Internal Revenue Service'})
我收到了我期望的结果,但是如果我 运行 使用 KMongo,完全相同的查询(并且我用调试器双重检查),我没有收到任何结果:
collection.find("{ 'role': 'VENDOR', 'name': 'Internal Revenue Service'}")
当我使用正则表达式查询时(如第一个示例),似乎 return 仅具有较小的值:如果我使用 'Internal Revenue Service'
查询名称,则不会产生任何结果,但如果我只查询 'Internal'
结果是正确的。
有没有人知道它可能是什么?这看起来简单得要死,但我想不通这让我很生气。
一天后我发现注入了计算错误的偏移量。因此,当查询更具体时,它什么也没有返回。
有点伤心。
我目前正在使用 KMongo,它非常好。使用简单,语法优美等
但是我 运行 在查询一些我无法弄清楚的数据时遇到了问题。我正在过滤某些字段,当我 运行 我对 Mongo Shell
或 robo 3T
的查询时,它工作正常。然而,当我尝试在我的 Kotlin 应用程序上 运行 时,它(仅在某些情况下)不起作用。我是这样查询的:
collection.find(
MyEntity::name regex filter.name,
MyEntity::role eq filter.role,
)
但我也尝试用接收过滤值的本机查询编写一个字符串,但我遇到了同样的问题。一个具体的例子是这个查询:
{ 'role': 'VENDOR', 'name': 'Internal Revenue Service'}
如果我 运行 在 robo 3T
上这样:
db.getCollection('MyEntity').find({ 'role': 'VENDOR', 'name': 'Internal Revenue Service'})
我收到了我期望的结果,但是如果我 运行 使用 KMongo,完全相同的查询(并且我用调试器双重检查),我没有收到任何结果:
collection.find("{ 'role': 'VENDOR', 'name': 'Internal Revenue Service'}")
当我使用正则表达式查询时(如第一个示例),似乎 return 仅具有较小的值:如果我使用 'Internal Revenue Service'
查询名称,则不会产生任何结果,但如果我只查询 'Internal'
结果是正确的。
有没有人知道它可能是什么?这看起来简单得要死,但我想不通这让我很生气。
一天后我发现注入了计算错误的偏移量。因此,当查询更具体时,它什么也没有返回。 有点伤心。