我正在使用此php包进行查询-https://github.com/jenssegers/laravel-mongodb
情况是,其中有两个字段user_id
和post_status
。我想检索该集合中的所有文档,但是当post_status
字段值为draft
时,仅当user_id
是给定的字符串时才应检索该文档。这个想法是,只有登录的用户才能在其他帖子中找到他们的草稿帖子。
我很难找到解决该问题的方法。该应用仍未投入生产。如果我应该以其他不同方式存储数据,那也是一种选择。
答案 0 :(得分:0)
仅当另一个字段值是给定的字符串时,才查找具有某个字段值的文档
您所构架的问题只是转换为a并查询,我们如何看待它
当另一个字段值是给定的字符串时
这意味着您有一些结果集,当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进行修改。