首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在mongoose数据库中查询数据

在mongoose数据库中查询数据
EN

Stack Overflow用户
提问于 2019-03-21 03:49:28
回答 1查看 58关注 0票数 0

我目前正在尝试查询数据,以便它只返回在2019-09-19和2019-09-22这两个特定日期之间id为bWYqm6-Oo的条目(到目前为止我只有1个条目)。在这种情况下,它应该只返回数据库中的前3个项目。我提出了一个查询,但它只返回一个空数组。有人知道怎么解决这个问题吗?提前谢谢你。

代码语言:javascript
复制
var findBy = {
    _id : bWYqm6-Oo,
    exercises : [
      {
        date: {
          $gte: 2019-09-19,
          $lt: 2019-09-22
        }
      }
    ]
  }
  UserModel.find(findBy).limit(5).exec((err, data) => {
      (err) ? res.json({"error" : "problem searching for exercises: " + err}) :  res.json(data);      
  });

我的数据库如下所示:

代码语言:javascript
复制
{
    _id: "bWYqm6-Oo",
    user: "rommy",
    exersises: [
        {
        user_id: "bWYqm6-Oo",
        date: "2019-09-20T00:00:00.000Z",
        description: "stiup",
        duration: "22",
        _id: "pu90D-dHx"
        },
        {
        user_id: "bWYqm6-Oo",
        date: "2019-09-21T00:00:00.000Z",
        description: "pushup",
        duration: "22",
        _id: "YtfsJLOXb"
        },
        {
        user_id: "bWYqm6-Oo",
        date: "2019-09-20T00:00:00.000Z",
        description: "stiup",
        duration: "22",
        _id: "pu90D-dHx"
        },
        {
        user_id: "bWYqm6-Oo",
        date: "2019-09-24T00:00:00.000Z",
        description: "stiup",
        duration: "22",
        _id: "pu90D-dHx"
        }
    ],
    __v: 9
}

下面是我在server.js文件中调用文件的位置:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 04:02:08

以下是一些事情:

文档上的字段_id在mongo中始终是唯一的,因此在查询中也是如此

代码语言:javascript
复制
var findBy = {
    _id : bWYqm6-Oo,
    exercises : [
      {
        date: {
          $gte: 2019-09-22,
          $lt: 2019-09-22
        }
      }
    ]
  }

这部分是多余的

代码语言:javascript
复制
exercises : [
      {
        date: {
          $gte: 2019-09-22,
          $lt: 2019-09-22
        }
      }
    ]

因为将只有一个_id'bWYqm6-Oo'的文档

如果您想使用日期范围进行查询,您可以这样做:

代码语言:javascript
复制
var query = {
  'exercises.date': {$gte: '2019-09-22', $lt: '2019-09-22'}
}

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55269090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档