dongyouji7022 2011-05-20 11:39
浏览 29

Mongo Query数组,当数组键未知时?

I have following in the database, and I like to find this item with a the search term "open"

It should almost be something like this, I guess???

 $query = array(array('keywords' => array('$in'=>'open')));
 $cursor = $collection->find($query);
 return iterator_to_array($cursor);

In Database:

[3b33162ad4ed5ffdeb88a1b2085535b1] => Array
    (
        [_id] => 3b33162ad4ed5ffdeb88a1b2085535b1
        [title] => Something
        [keywords] => Array
            (
                [2] => open
                [7] => source
            )

        [added] => MongoDate Object
            (
                [sec] => 1305884144
                [usec] => 658000
            )

    )
  • 写回答

2条回答 默认 最新

  • doubo6658 2011-05-20 14:19
    关注

    You can query Arrays in MongoDB like normal values. Here an example in the JavaScript Shell.

    > db.php.insert({title: "something", keywords: ["foo","bar"]})
    > db.php.insert({title: "something", keywords: ["open","bar"]})
    > db.php.insert({title: "something", keywords: ["baz","faz"]})
    > db.php.find({ keywords: "open" });
    { "_id" : ObjectId("4dd677229a547d85bb02fce5"), "title" : "something", "keywords" : [ "open", "bar" ] }
    

    For Faster Queries you should create an index on the array.

    db.php.ensureIndex({keywords: 1})

    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图