所以,我有一个带有集合的Mongo数据库,其中文档的结构类似于:
export
当运行mongoose时,即使它们有数据,也会返回所有文档的子子文档数组为空。如果我在控制台上运行mongo客户端,我可以毫无问题地检索信息。
但它更奇怪:如果我在我的nodejs端点上运行以下命令它会返回一个空数组,表明我的任何文档中都没有空的子子文档数组(我可以通过直接访问数据库来确认)
{
"name": "sampleName",
"subdocument": [
{
"name": "subDocName",
"subsubdocument": [...]
}
]
}
虽然如果我运行下面的代码,我的所有子文档数组都打印为[]。
MyCollection.find({'subdocument.subsubdocument': {$eq: []}},function(err, result) {
console.log(result);
});
我甚至使用了一个GUI(mongobooster)来检查我是不是疯了。
我不清楚这里发生了什么,也不知道如何解决这个问题,欢迎任何想法。
PS:我使用的是MongoDB版本3.2和mongoose v4.4.12。
答案 0 :(得分:1)
所以,我认为这是一个相当愚蠢的错误,因为我认为标准行为会有所不同。这只是一些git版本的混乱导致了mongoose模式的错误。
我只是想,如果它应该显示错误而不仅仅是隐藏信息,确实很奇怪......
但是感谢Inder R Singh指出我正确的方向。