MongoDB找到结果

时间:2015-11-06 11:03:16

标签: mongodb mongodb-query

我有一个用户和消息之间的连接表,我将获得所有messageUserConnection - 发送者的对象(userCreatedMessage和userReceivedMessage是相同的),其中消息ID是相同的,并且读取false任何messageUserConnection或说很简单:发送者/用户将获得所有发送的messageUserConnections,而不是所有接收者都已确认该消息。

MessageUserConnection的查询字符串:

db.MessageUserConnection.find()
发件人的

MessageUserConnection条目

a MessageUserConnection,其中消息的接收者尚未确认消息(messageId相同且读取= false)

{
  "confirmationNeeded": true,
  "read": false,
  "userCreatedMessage": DBRef("User",
  ObjectId("5589929b887dc1fdb501cdba")),
  "userReceivedMessage": DBRef("User",
  ObjectId("5589929b887dc1fdb501cdba")),
  "message": DBRef("Message",
  ObjectId("563c57adb1a9bb55d70bd407"))
}

这是我的查询:

db.MessageUserConnection.find( { $and: [ {'confirmationNeeded': true}, { $and: [ {'userCreatedMessage.$id' : ObjectId('5589929b887dc1fdb501cdba') }, {'userReceivedMessage.$id' : ObjectId('5689929b887dc1fdb501cdbc') } ] } ] } ) 

我现在的问题是我不知道如何扩展查询以考虑接收器的读取属性。

如果有人能给我一个如何能做到这一点的暗示会很棒。 非常感谢!

[编辑] My Problem

这是我的问题的图形可视化。我将拥有 - 在这种情况下 - 只有id = 1的MessageUserConnection,因为一个收到此消息的用户(id = 3)没有读取该消息。 是否有可能使用一个MongoDB查询执行此操作? 非常感谢!

1 个答案:

答案 0 :(得分:0)

.twitter-fav

我认为你可以通过上提查询来做到这一点..如果我得到你的问题..不知道:(