正如标题所示,我发现了一个相当奇怪的行为,我不确定将其归因于Studio3T或MongoDB。
我有一个包含简单文档的集合,如下所示:
Example of a document in the collection
每当我使用查询构建器执行查询时,一切都按预期工作。但是,当我使用IntelliShell或聚合 AND 进行此操作时,如果此类查询基于字段StudyID,则无论查询是什么,都不会返回任何文档。
例如,以下两个查询分别返回一个空列表而没有文档。
db.Cortisol.distinct("StudyID")
db.Cortisol.find({},{"StudyID" : 1})
虽然以下非常相似的查询会按预期返回文档。
db.Cortisol.find({},{"ExamID" : 1})
正如你可以看到查询是正确的,我没有拼错任何东西,所以有没有人可能解释这种奇怪的行为?
答案 0 :(得分:0)
我想知道你的领域" StudyID"包含一些奇怪的(不可见的)unicode字符。这可以解释为什么将字段拖动到查询构建器中(因为查询构建器使用完全相同的字符串)并键入S-t-u-d-y-I-D并不起作用。 当您运行空查询并且看到返回了StudyID的文档时,您是否可以将StudyID字段的字段名称复制到剪贴板,然后在IntelliShell中键入查询时粘贴StudyID名称?