是的,我有一个非常奇怪的问题,这可能与 MongoDB 的工作方式有关,而不是编码问题。
我正在使用 MongoDB 数据库和 nodejs 服务器使用 Javascript(主要是)制作一个对 jquery 非常重的网站。我的用户有墙,很多信息都是异步更新的。正因为如此,我不得不经常潜入数据库,主要是为了更新东西——例如,如果用户在某人的墙上留言或添加朋友。
问题是,一旦我进行查询 - 试图让另一个像它之后一样失败。它们实际上是相同的(我对此进行了测试,复制和粘贴,它们首先有点不同)。无论我使用查找还是更新,第二个查询的结果始终为空。每次潜水后我都会关闭数据库,并返回只是为了更好的衡量。
在一个成功后对同一个地方的多个查询失败的任何地方我都找不到任何问题。就好像某处有锁一样,因为我 100% 确定我的查询是正确的,并且不应该返回 null。甚至硬编码都不起作用。第一个查询完美运行。相同的数据,相同的集合。
所以,我的问题是:MongoDB 是否有一些查询缓存可能会阻塞查询,或者在查询的工作方式中我还遗漏了什么?在进行多个数据库查询时,您有什么好的提示和提示吗?
由于查询返回 null,我得到 TypeError: Cannot read property '_id' of undefined。
我希望这是足够的信息,任何人都可以知道出了什么问题。我没有提供任何代码,因为我认为这更多的是我没有真正了解 MongoDB 的工作原理,而不是编码问题。