我正在使用这个php包进行查询- https://github.com/jenssegers/laravel-mongodb
情况是,有两个字段,其中包括user_id和post_status。我希望检索该集合中的所有文档,但是当post_status字段值为draft时,仅当user_id为给定字符串时才应检索该文档。这个想法是,只有登录的用户才能在其他帖子中找到他们起草的帖子。
我很难找到解决这个问题的办法。该应用程序仍未投入生产。如果我应该以某种不同的方式存储数据,那也是一种选择。
发布于 2019-04-23 01:19:16
仅当另一个字段值为给定字符串时,才会查找具有特定字段值的文档
您正在构建问题只是将其转换为and查询,让我们看看它是如何实现的
当另一个字段值为给定字符串时为
这意味着您有一些结果集,当user_id与某个字符串匹配时,您需要过滤掉。即some result sets and user_id = <id>
现在考虑Find documents with a certain field value这句话的第一部分
这意味着您正在过滤具有某些值的记录,即"status" = "draft"以及将出现的任何结果,并且希望再次基于user_id = <id>过滤
因此,最后您将以下面的查询结束:
db.collectionName.find({"status":"draft", "user_id": "5c618615903aaa496d129d90"})希望这个解释能帮助你,或者你可以重新表达你的问题,我将尝试通过ans修改。
https://stackoverflow.com/questions/55796162
复制相似问题