您可能会在我的问题历史记录中看到,我正在努力使用MongoDB。我具有以下文档结构。
在许多文档中,t的值可以相同,并且vdata.d
的值也会重复多次,但不会重复t
的相同值。
我在t
和vdata.d
上放置了索引。
t
的值可以重复进行10,000次以上,总共有3.559亿个文档。
我真的很难查询数据。如何查询给定值t
的值vdata.d
的数据。我有以下内容,即使知道有条目也不会返回任何内容。
db.TagValues.aggregate({$match: {t: "99CalcTrigger"}}, {$match: {"vdata.d: "2018-12-09T04:40:00Z"}
如果我只是使用以下方法查询数据:
db.TagValues.find({ "vdata":{"d": new Date ("2018-12-09T04:40:00Z")}})
同样不会返回任何内容,而且查询非常慢。
我已经阅读了数小时的MongoDB文档,但没有取得任何进展。
答案 0 :(得分:1)
使用点符号
db.TagValues.find({"t": ..., "vdata.d": ...})
而且查询非常慢
当然,除了不在t
上使用索引之外,您还没有在此处传递vdata.d
。因此mongod会进行全收集扫描。