MongoDB基于2个ID PHP在集合中查找文档

时间:2015-07-29 20:19:18

标签: php mongodb nosql

我想知道如何根据UIDa和UIDb在集合中查找文档,反之亦然。

所以例如我想把所有文件都放在哪里 值UIDa = inputA和UIDb = inputB 或值UIDa = inputB和UIDb = inputA

{ 
    "_id" : ObjectId("5572f65dc89782b9398b4fc0"), 
    "sender" : "senderID", 
    "recipient" : "recipientID", 
    "message" : "messagehere", 
    "time" : "1433092679", 
    "state" : "1" 
}

我有这个查询,但它没有用,因为缺少一些文件。

$query = $db->collection->find(array(
    '$or' => array(
         array(
             'recipient' => $uid,
             'sender' => $fuid, 
             'state' => '1', 
             'time' => array(
                 '$lt' => $last_update
              )
          ),
          array(
              'recipient' => $fuid, 
              'sender' => $uid, 
              'state' => '1', 
              'time' => array(
                  '$lt' => $last_update
              )
          )
      )
    )
)->limit(20);

提前感谢。

1 个答案:

答案 0 :(得分:0)

我认为你在寻找$in运营商。

$query = $db->collection->find(array(
             'recepient' => array('$in' => array($uid, $fuid)),
             'sender' => array('$in' => array($uid, $fuid)),
             'state' => '1', 
             'time' => array('$lt' => $last_update)
          )
)->limit(20);