【问题标题】:Mongoose restructure query to match result [duplicate]猫鼬重组查询以匹配结果[重复]
【发布时间】:2019-08-07 22:34:53
【问题描述】:

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

      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.

编辑三:

我该如何编辑:

..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

【问题讨论】:

  • 你试过不加引号吗? {start: {$gte: 186}, end: {$lte: 186}}
  • 是的@AnuragSrivastava。试过了
  • “两个字段之间的数字”实际上是我使用的一个面试问题。你想要“开始小于”和“结束大于”。因此,基本上是单个字段之间的“逆”。
  • 我将如何完成这个@NeilLunn?因为我只知道它等于开始,或等于结束,或在它们之间。
  • 查看链接的问题和答案,并思考什么是合乎逻辑的。 { start: { $lte: 186 }, end: { $gte: 186 } } 并简单地比较该逻辑,看看它是如何应用的。

标签: javascript mongodb mongoose


【解决方案1】:

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

请试试这个查询:-

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

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

【讨论】:

  • 但我只知道我的中奖行有票号 186,那么我只有 186 可以从,而 186 可以是开始或结束值,也可以是开始和结束之间。跨度>
  • 上面的查询你运行了吗
  • 是的,但理论上除了 186 之外,我没有其他数字可供选择。
  • 所以你不会得到上面的文件。它不在范围内。
  • 186 在起始值 169 和结束值 268 之间
猜你喜欢
  • 2017-10-03
  • 2017-05-08
  • 2015-08-04
  • 1970-01-01
  • 2015-12-12
  • 2016-02-04
  • 2018-04-10
  • 2019-01-26
  • 2017-12-03
相关资源
最近更新 更多