我有这个数据集集合填充如下:
* A Datasets's element *
{
_id: xQ2kqEdoewjPxpKQ5,
name: "dataset_name",
data : [
{x: 0, y: -375.800005599856},
{x: 0.000666666659526527, y: -375.300005592406},
{x: 0.00133333331905305, y: -375.200005590916},
{x: 0.00199999997857958, y: -375.400005593896},
{x: 0.00266666663810611, y: -375.200005590916},
{x: 0.00333333329763263, y: -374.700005583465},
{x: 0.00399999995715916, y: -374.100005574524},
{x: 0.00466666661668569, y: -373.800005570054},
{x: 0.00533333327621222, y: -374.400005578995},
{x: 0.00599999993573874, y: -375.300005592406},
{x: 0.00666666659526527, y: -375.800005599856},
{x: 0.0073333332547918, y: -376.300005607307},
{x: 0.00799999991431832, y: -376.800005614758},
{x: 0.00866666657384485, y: -377.400005623698},
{x: 0.00933333323337138, y: -377.700005628169},
{x: 0.0099999998928979, y: -378.000005632639}
]
}
要进行绘图,我只需要检索x在其间的点{x,y},让我们说xMin(0.005)和xMax(0.007)。
所以我想退回:
{
{x: 0.00533333327621222, y: -374.400005578995},
{x: 0.00599999993573874, y: -375.300005592406},
{x: 0.00666666659526527, y: -375.800005599856}
}
我该怎么做? 我目前正在寻找总体方向。这样好吗?
答案 0 :(得分:4)
您的查询应如下所示:
db.collection.aggregate([
{ $match: {_id: "xQ2kqEdoewjPxpKQ5"} },
{ $unwind: "$data" },
{ $match: { "data.x": { $gt:xMin, $lt : xMax } },
{ $project : { _id: 0, data : 1 } }
{ $sort: { "data.x": 1 } },
{ $limit: 3 }
])
您的结果应如下所示:
{ "data" : { x: 0.00533333327621222, y: -374.400005578995} }
{ "data" : { x: 0.00599999993573874, y: -375.300005592406} }
{ "data" : { x: 0.00666666659526527, y: -375.800005599856} }