首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MongoDB查询在两个特定数据之间查找

如何使用MongoDB查询在两个特定数据之间查找
EN

Stack Overflow用户
提问于 2022-04-03 23:14:18
回答 1查看 30关注 0票数 0

简单地说,我想找出3月20日至30日或15-30岁这两个具体日期之间的具体日期。我没有找到任何本地司机的样本。我使用的是MongoDB节点驱动程序,而不是猫鼬,所以像这样的$lte和$gte无法工作。

代码语言:javascript
复制
MongoClient.connect(url, function (err, db) {
    if (err) throw err;
    var query = { date: { $lte: "2022-04-01" }};
    var dbo = db.db("myDb");

    dbo.collection("info").find(query).toArray(function (err, result) {
        if (err) throw err;
        console.log(result);
        db.close();
    });
}); 

我有这样的结构;

代码语言:javascript
复制
{
    "_id" : ObjectId("6246ff6abff0907a89edd48c"),
    "name" : "name1",
    "age"  : 25,
    "date" : "2022-3-21"
},
{
    "_id" : ObjectId("6246ff917a33f49da8dc74de"),
    "name" : "name2",
    "age"  : 28,
    "date" : "2022-3-28"
},
{
    "_id" : ObjectId("624a213e738b9e8d94c9abad"),
    "name" : "name3",
    "age"  : 35,
    "date" : "2022-4-3"
}

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-03 23:31:48

“日期”字段的类型是"string“。

如果你把它保存为ISODate。你可以按你说的去查询。样本:

代码语言:javascript
复制
var myDate = new Date("2022-03-18T16:00:00Z");

查询:

代码语言:javascript
复制
var query = { date: { $lte: ISODate("2022-03-18T16:00:00Z") }};

   dbo.collection("info").find(query).toArray(function (err, result) {
         if (err) throw err;
         console.log(result);
         db.close();
     });

参考文献:https://www.mongodb.com/docs/manual/reference/method/Date/

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

https://stackoverflow.com/questions/71730552

复制
相关文章

相似问题

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