php mongo 查询,关于PHP,查询mongodb里的数组的问题

这一个记录

{ “_id” : ObjectId(“56bb7aafa1164ef44e000029”), “qishu” : 21, “shuzi” : [ 69, 15, 86, 40, 20, 67, 46, 13, 36, 23, 33, 26, 9, 49, 81, 96, 65, 31, 52, 75, 99, 6, 39, 74, 47, 42, 1, 94, 82, 91, 5, 27, 30, 28, 7, 90, 34, 37, 79, 70, 18, 87, 57, 59, 45, 63, 24, 76, 100, 50, 41, 62, 64, 98, 8, 66, 14, 61, 54, 32, 17, 29, 55, 56, 3, 58, 84, 4, 21, 48, 68, 92, 53, 10, 93, 85, 12, 51, 77, 43, 25, 2, 19, 80, 73, 72, 22, 97, 88, 71, 35, 11, 16, 78, 95, 60, 44, 89, 83, 38 ] }

> db.fenshuhaoma.find({qishu:21});

我在PHP里,查找 $mong->find(array(‘qishu’=>21)); 找到对象后,在foreache,然后在得到 shuzi的数组,然后在从shuzi数组里,获取第5个到第(8)个,也就是 shuzi数组里的下标为5到13的值 [‘shuzi’][5] – [‘shuzi’][5+8=13]

不知道如何表达这个查询,如果是mysql的查询的话就是 select * from db where qishu=22 and shuzi>5 and shuzi<13

现在我的做法就是吧所有查询出来,然后在遍历获得,这样来做,感觉需要很多内存来进行查询,在频繁查询时,就慢了.

我应该怎么来写这个查询.获取出来的就是直接 ['shuzi'][5] – ['shuzi'][5+8=13] 范围.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值