小编Esp*_*Esp的帖子

MongoDb:在不同情况下搜索范围内的值

第一。

我们在db中有以下记录

{ _id:1, values: [ 1 ,5 ,6 ,8]},
{ _id:2, values: [5 ,7 ,8,10 ,40 ,1]},
{ _id:3, values: [50 ,60 ,5 ,1 ]}
Run Code Online (Sandbox Code Playgroud)

我需要查询所有记录,其中包含范围8-10的“值”。 {_id:1},{_id:2}

query ({values:{'$gte':8,'$lte':10}}) 返回所有记录,由于“值”为数组,因此结果不正确!

第二。

我们在db中有以下记录

{_id:1, from: 1, to:100},
{_id:2, from: 101, to:200},
{_id:3, from: 201, to:300},
{_id:4, from: 301, to:400} ...
Run Code Online (Sandbox Code Playgroud)

我需要找到元素205在从到范围内的记录。结果{_id:3}

query({from:{'$lte':205},to:{'$gte':205})
Run Code Online (Sandbox Code Playgroud)

非常慢,根本不使用任何索引{from:1,to:1}

我有点困惑。有人可以帮忙吗?

谢谢。

mongodb

5
推荐指数
1
解决办法
2554
查看次数

标签 统计

mongodb ×1