Mongodb Studio3T/Mongo中的奇怪行为

Mongodb Studio3T/Mongo中的奇怪行为,mongodb,studio3t,Mongodb,Studio3t,正如标题所示,我发现了一个相当奇怪的行为,我不确定是Studio3T还是MongoDB造成的 我有一个包含简单文档的集合,如下所示: 每当我使用查询生成器执行查询时,一切都按预期进行。但是,当我使用IntelliShell或Aggregate执行此操作时,如果此类查询基于字段StudyID,则无论查询如何,都不会返回任何文档 例如,以下两个查询分别返回空列表和无文档 db.Cortisol.distinct("StudyID") db.Cortisol.find({},{"StudyID" :

正如标题所示,我发现了一个相当奇怪的行为,我不确定是Studio3T还是MongoDB造成的

我有一个包含简单文档的集合,如下所示:

每当我使用查询生成器执行查询时,一切都按预期进行。但是,当我使用IntelliShell或Aggregate执行此操作时,如果此类查询基于字段StudyID,则无论查询如何,都不会返回任何文档

例如,以下两个查询分别返回空列表和无文档

db.Cortisol.distinct("StudyID")
db.Cortisol.find({},{"StudyID" : 1})
而下面非常类似的查询将返回文档,正如预期的那样

db.Cortisol.find({},{"ExamID" : 1})
正如您所看到的,查询是正确的,我没有拼错任何东西,所以有人对这种奇怪的行为有可能的解释吗?

我想知道您的字段“StudyID”是否包含一些奇怪的(不可见的)unicode字符。这可以解释为什么将字段拖到查询生成器中(因为查询生成器使用完全相同的字符串)而键入S-t-u-d-y-I-d不起作用。
当您运行空查询并看到返回StudyID的文档时,是否可以将StudyID字段的字段名复制到剪贴板,然后在IntelliShell中键入查询时粘贴StudyID名称?

在本机mongo shell中是否有效?作为旁注,请看一看,以增加你得到答案的机会。不,结果是一样的。那么,假设问题不在于学习,这不公平吗?请提供一些例子来重现问题。这就确定了问题!按照建议,我将有问题的字段名复制到剪贴板并粘贴到查询中。与我逐字符编写查询时相反,查询是有效的。这支持了存在一些不可见字符的假设。当我用键盘在字段名称中移动插入符号时,我必须按两次箭头才能“穿过”s字符,这表明该不可见字符位于字段“StudyID”中的“s”之前。