猫鼬重组查询以匹配结果

时间:2019-03-17 11:18:17

标签: javascript mongodb mongoose

我有一个查询,它将运行以下内容:

      var RandomNumber = rand(Start,End); // 186


..findOne({start: {"$gte": RandomNumber }, end: {"$lte": RandomNumber }}).then(function (winner) {

在我的数据库中,我有以下输入内容:

_id:5c8d037c5a35fd36e4b27e10
userid:"5c8522a96bcca9268c0753fe"
start:169
end:268
time:1552745340629

如何重组查询,使其返回输入数据库?因为186在开始值和结束值之内。

编辑:也尝试在查询中不使用引号。我不确定如果start或end是正确的值,或者该值介于两者之间,我将如何使查询匹配。

编辑两个:

我也有

      var RandomNumber = rand(Start,End); // equals 186. that i need to get the winning row.

ED设置三:

我如何编辑:

..findOne({start: {"$gte": RandomNumber }, end: {"$lte": RandomNumber }}).then(function (winner) {

其中RandomNumber等于186,只给我数据库中的记录,其中 186的值存在吗? (表示介于开始值和结束值之间)。

这是我数据库中的其他示例:

_id:5c8d037c5a35fd36e4b27e10
userid:"5c8522a96bcca9268c0753fe"
start:1
end:50
time:1552745340629

_id:5c8d037c5a35fd36e4b27e10
userid:"5c8522a96bcca9268c0753fe"
start:51
end:168
time:1552745340629

_id:5c8d037c5a35fd36e4b27e10
userid:"5c8522a96bcca9268c0753fe"
start:169
end:268
time:1552745340629

所需的输出:

 _id:5c8d037c5a35fd36e4b27e10
    userid:"5c8522a96bcca9268c0753fe"
    start:169
    end:268
    time:1552745340629

1 个答案:

答案 0 :(得分:0)

您的查询是错误的,您正在寻找起始值大于186且小于186的文档

请尝试以下查询:-

.findOne({start: {"$gte": 169}, end: {"$lte": 268}}).then(function (winner) {

 .findOne({end: {"$lte": 186}}).then(function (winner) {