在 mongodb 中使用 isodate 进行日期查询-ag捕鱼王app官网

在 mongodb 中使用 isodate 进行日期查询

作者:迹忆客 最近更新:2023/05/09 浏览次数:

这篇 mongodb 教学文章将解释 date() 方法。 本文介绍了使用日期查询的不同方法。


mongodb 中的 date() 方法

date() 方法将日期作为字符串或 date 对象返回。

  1. 在 mongodb shell 或 mongosh 中, date() 方法以字符串形式返回当前日期。
  2. 新的 date() 函数返回一个包含当前日期的 date 对象。 isodate 帮助程序由 mongosh 包裹在 date 对象周围,isodate 以 utc(世界标准时间)为单位。

您可以使用新的 date() 函数或 isodate() 方法来定义特定日期,方法是提供一个年份介于“0”和“9999”之间的 iso-8601 日期字符串。 这些函数接受以下格式。

  1. 带有提供日期的 isodate 由 new date("") 返回。
  2. new date("") 指定客户端本地时区的 datetime,并返回一个 isodate 和 utc 中的 datetime。
  3. new date("") 采用 utc 格式的 datetime,并返回具有 utc 格式的 datetime 的 isodate。
  4. new date(integer>) 返回一个 isodate 实例,其中 datetime 指定自 unix 纪元(1970 年 1 月 1 日)以来的毫秒数。

date() 方法的行为

日期对象在内部保存为一个带符号的 64 位整数,表示自 unix 纪元(1970 年 1 月 1 日)以来的毫秒数。 并非所有数据库过程和驱动程序都支持完整的 64 位范围。

年份在 0 到 9999 之间的日期可以安全处理。


在 mongodb 的查询中使用 date() 方法

如果产品集合中不存在 _id 等于 1 的文档,则以下代码添加一个文档,并将字段 dateadded 设置为当前日期。

代码:

db.products.updateone(
   { _id: 1 },
   {
     $set: { item: "apple" },
     $setoninsert: { dateadded: new date() }
   },
   { upsert: true }
)

使用 date() 方法将日期作为字符串返回,如以下示例所示:

var mydatestring = date();

mongosh 使用 isodate 帮助程序包装 date 类型的对象。 但是,对象仍然是 date 类型。

以下示例使用 new date() 返回具有指定 utc 日期时间的 date 对象。

var mydate = new date("2016-05-18t16:00:00z");

在 mongodb 中按日期排序

使用 mongodb 中的 sort() 函数和 $sort 聚合解决了这个问题。 您可以使用此工具按升序或降序对数据进行排序。

代码示例:

db.posts.find().pretty()
{
    "_id" : 1,
    "title" : "mongodb",
    "body" : "hi there",
    "date" : "2021-01-01t00:00:00.000z",
        "country" : "united kingdom"
}
{
    "_id" : 2,
    "title" : "mysql",
    "body" : "hello",
    "date" : isodate("2020-01-01t00:00:00z"),
        "country" : "united states of america"
}
{
    "_id" : 3,
    "title" : "sql",
    "body" : "world",
    "date" : isodate("2021-01-01t00:00:00z"),
        "country" : "new zealand"
}

一些数据被添加到 posts 集合中,日期字段用于将它们按升序排列,较早的日期在前。

代码示例:

db.posts.find().sort({ date: 1 }).pretty()
{
    "_id" : 1,
    "title" : "mongodb",
    "body" : "hi there",
    "date" : "2021-01-01t00:00:00.000z",
        "country" : "united kingdom"
}
{
    "_id" : 2,
    "title" : "mysql",
    "body" : "hello",
    "date" : isodate("2020-01-01t00:00:00z"),
        "country" : "united states of america"
}
{
    "_id" : 3,
    "title" : "sql",
    "body" : "world",
    "date" : isodate("2021-01-01t00:00:00z"),
        "country" : "new zealand"
}

排序后,请注意它,因为第一个文档有一个日期字符串而不是日期对象。

日期字符串最先出现,即使文档 2 中的日期稍后被初始化。


按日期排序在 mongodb 中不起作用

mongodb 无法运行的原因可能有多种,但您必须记住一些在 mongodb 中按日期排序操作的过程。

  1. 永远记住,在帮助下,您正在将数据存储在集合中。
  2. 有两种方法可以将日期字段存储在文档中。
  3. date() 字符串和 isodate() 数据类型用于在文档中存储日期。
  4. 当您使用 sort() 方法对日期字段进行排序时,请检查您使用的是哪种数据类型。

代码示例:

db.document.insertone({ "productid" : 1001, "productdeliverydatetime": new date() });
{
        "acknowledged" : true,
        "insertedid" : objectid("611c9e39e1fdc428cf238802")
}

使用 date() 字符串添加日期,集合名称是文档。 您可以使用 isodate() 以相同的方式在文档中插入日期。


在 mongodb 中使用 isodate() 查询工作日期

使用 $gte 运算符和 isodate() 在 mongodb 中使用 isodate 进行日期查询。 让我们使用该文档制作一个集合以更好地理解这个概念。

以下是使用文档构造集合的查询。

查询:

> db.datedemo.insertone({"studentname":"john","studentage":26,"admissiondate":new isodate("2013-06-07")});
{
   "acknowledged" : true,
   "insertedid" : objectid("5c8a65799064dcd4a68b70ea")
}

find() 函数可以显示集合中的所有文档。

询问:

db.datedemo.find().pretty();

输出:

use find() function to display documents in a collection

这是在 mongodb 中使用 isodate() 的日期查询。

查询:

> db.datedemo.find({"admissiondate":{"$gte": isodate("2013-06-07t00:00:00z")}}).pretty();

输出:

date query with isodate() in mongodb

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 mongodb shell 中列出所有数据库

发布时间:2023/05/11 浏览次数:180 分类:mongodb

交互式 mongo shell 提供了多个用于获取数据的选项。 本文介绍了在 mongo shell 中列出数据库的几种不同方法。

mongodb 中检查字段包含的字符串

发布时间:2023/05/11 浏览次数:1024 分类:mongodb

这篇文章解决了如何在 mongodb 中使用正则表达式来确定字段是否包含字符串。在 mongodb 中使用正则表达式 正则表达式 (regex) 是定义搜索模式的文本字符串。

在 mongodb 中 upsert 更新插入

发布时间:2023/05/11 浏览次数:214 分类:mongodb

在 mongodb 中,upsert 结合了更新和插入命令。 它可以在 update() 和 findandmodify() 操作中使用。mongodb 中的 upsert 查询 upsert 采用单个布尔参数。

如何卸载 mongodb

发布时间:2023/05/11 浏览次数:745 分类:mongodb

要从您的计算机中卸载 mongodb,您必须先删除 mongodb 服务、数据库和日志文件。使用这篇 mongodb 文章,您将能够从 ubuntu linux、mac 和 windows 卸载 mongodb。 请务必保留数据备份,因为一旦卸载,便

在 mongodb 中存储日期和时间

发布时间:2023/05/11 浏览次数:762 分类:mongodb

本 mongodb 教程解释了 date() 对象是什么以及如何使用 date() 方法对集合进行排序。 这也将帮助您找到在 mongodb 中显示和存储日期/时间的最佳方法。

mongodb 按 id 查找

发布时间:2023/05/11 浏览次数:1856 分类:mongodb

mongodb 中的 find by id() 函数用于获取与用户提供的 id 相匹配的文档。 如果找不到与指定 id 匹配的文档,则返回空值。

检查 mongodb 服务器是否正在运行

发布时间:2023/05/11 浏览次数:247 分类:mongodb

这篇 mongodb 教程将告诉您如何检查是否安装了 mongodb 以及安装的 mongodb 服务器的版本。 它在 windows、ubuntu 和 mac 等不同的操作系统中实现。

mongodb 中的分页

发布时间:2023/05/11 浏览次数:174 分类:mongodb

这篇文章将介绍什么是 mongodb 中的分页。 为什么在 mongodb 中需要分页以及在 mongodb 中完成分页的不同方法或方式是什么。

mongodb 从查询开始

发布时间:2023/05/11 浏览次数:186 分类:mongodb

在这篇 mongodb 文章中,用户将学习如何使用 $regex 进行开始查询。 它为查询中的模式匹配字符串提供正则表达式功能。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图