php操作mongoDB数据库查询的时候怎样写“或”这样的多个条件查询代码?

我正在用php做一个网站,其中有一个在线聊天页面,我需要从mongoDB数据库中查询出发送信息者和接收信息者双方的聊天内容,比如张三和李四聊天,需要查询出张三发送给李四的... 我正在用php做一个网站,其中有一个在线聊天页面,我需要从mongoDB数据库中查询出发送信息者和接收信息者双方的聊天内容,比如张三和李四聊天,需要查询出张三发送给李四的聊天内容和李四发送给张三的聊天内容,这个查询条件怎么写呢?我把聊天内容插入数据库用的是这样的语句:
$collection = $db->dialogs;
$arr = array("发送者"=>$_SESSION[nick],"发送内容"=>$_GET["sendcontent"],"发送对象"=>$_GET["sendto"],"发送时间"=>$_GET["sendtime"],"发送ip"=>$_GET["sendip"],"会话id"=>$_GET["sessionid"]);
$result = $collection->insert($arr);
我需要查出发送者是张三而发送对象是李四,或者 发送者是李四而发送对象是张三的内容,查询条件怎么写?谢谢!
展开
 我来答
zzs1949
2014-08-19 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1122万
展开全部
据我所知,目前mongoDB没有“或”这个东西

但我刚才在网上查了下
发现了下面的信息,你参考下吧

在mongodb中有$or 操作符的,官网中给出的例子如下:

Simple:

db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } )

With another field

db.foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } )

The $or operator retrieves matches for each or clause individually and eliminates duplicates when returning results. A number of $or optimizations are planned for 1.8. See this thread for details.
$or cannot be nested.
追问
谢谢你!我用这样的语句已经查到了想查的结果:$query = array('$or'=>array(array("发送者"=>$_SESSION[nick],"发送对象"=>$_GET["sendto"]),array("发送者"=>$_GET["sendto"],"发送对象"=>$_SESSION[nick])));
$cursor = $collection->find($query);
莘赡05V
2014-08-19 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
直接在这个大叔组中push数据啊,
追问
你可能没弄明白,我现在要从数据库中把早先插入的数据查出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奔四码农
2018-08-30
知道答主
回答量:22
采纳率:0%
帮助的人:2.9万
展开全部
$where['$or'] = [
           ['id' => ['lt'=>0]],
           ['id2' => ['lt'=>1]]
         ];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式