doubu1853 2012-11-21 18:08
浏览 25

使用php-mongo查询mongodb

I am building a simple messaging system, and i have a collection in mongodb with documents like this:

{ "_id" : ObjectId("50ad003f9811e5bc5c000000"), "between" : [ "user1,user2,user3" ] }

I want to perform this query:

db.conversations.find({'between': ["user1,user2,user3"]});

to get this exact document back. This query works in mongo shell.

in php-mongo, i tried this:

$collection->find(array("between"=>array("user1", "user2", "user3")));

but it does not work.

What am i doing wrong ?

  • 写回答

4条回答 默认 最新

  • douke3442 2012-11-21 18:27
    关注

    Wouldn't you want to do an In query here?

    db.collection.find( { "between" : { $in : ["user1", "user2", "user3"] } } );
    

    See In query here: Mongo Advanced $in query

    making your PHP query look like:

    $collection->find(array("between"=>array("$in"=>array("user1", "user2", "user3"))));
    //untested, should be something similar to this.
    

    or if you're trying to find it exactly wouldn't you just be able to do:

    $collection->find(array("between"=>array("user1,user2,user3")));
    
    评论

报告相同问题?

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害