【发布时间】:2019-04-22 14:40:24
【问题描述】:
我正在使用这个 php 包进行查询 - https://github.com/jenssegers/laravel-mongodb
情况是,有两个字段,user_id 和 post_status 等等。我想检索该集合中的所有文档,但是当post_status 字段值为draft 时,只有当user_id 是给定字符串时才应该检索它。这个想法是,只有登录的用户才能在其他帖子中找到他们起草的帖子。
我很难为这个问题找到任何解决方案。该应用程序仍未投入生产。如果我应该以某种不同的方式存储数据,那也是一种选择。
【问题讨论】:
-
什么是架构,您可以在这里发布记录以便更好地理解以及您尝试过什么查询吗?
-
{ "_id" : ObjectId("5cbb6405c393850b88002f63"), "title" : "some title", "status" : "draft", "summary" : null, "post_category" : [ "5c377074c393852988004bad", "5c377090c393852988004bb0" ], "likes_count" : 1, "liked_by" : [ "5c8e3817c3938504b8005f86" ], "views_count" : 0, "comments_count" : 0, "user_id" : "5c618615903aaa496d129d90", "rating" : null, "enabled" : "enabled", "updated_at" : ISODate("2019-04-20T23:23:30.000Z"), "created_at" : ISODate("2019-04-20T18:25:09.000Z") } -
我希望用户在其他帖子中找到带有
"status": "draft"的帖子,如果user_id是他们的用户ID。在这种情况下,我不知道该尝试什么,因为它需要我在查询中运行 IF 语句。 -
你这句话不清楚,
among the other posts IF user_id is their user id是什么意思,不就是user_id = <id>和status = draft所在的用户的所有帖子吗?
标签: mongodb eloquent mongodb-query jenssegers-mongodb