MonogoDB----Date()

以字符串或日期对象的形式返回日期。

使用new Date(),插入的是一个isodate类型;而使用Date()插入的是一个字符串类型。

那isodate是什么日期类型的?我们看这2个值,它比字符串大概少了8小时。这是由于mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而我当前所处的是+8区,所以mongo shell会将当前的GMT+0800时间减去8,存储成GMT时间。

  • Date()在mongo shell中返回当前日期作为字符串。
  • new Date()将当前日期作为日期对象返回。mongo shell将日期对象包装为ISODate helper。ISODate在UTC。

您可以通过将日期()方法传递给日期()方法来指定一个特定的日期。例如:

new Date("<YYYY-mm-dd>")它返回ISODate的 指定日期的等日期。

new Date("<YYYY-mm-ddTHH:MM:ss>")它指定了本地datetime中的datetime,并在UTC中返回指定的datetime的等日期。

new Date("<YYYY-mm-ddTHH:MM:ssZ>")它指定UTC中的datetime,并在UTC中返回指定的日期时间的ISODate。

 

1、如果在产品集合中不存在id等于1的文档,下面的操作将向字段dateAdded添加当前日期插入:

db.products.update(
   { _id: 1 },
   {
     $set: { item: "apple" },
     $setOnInsert: { dateAdded: new Date() }
   },
   { upsert: true }
)

2、插入
db.tianyc04.insert({mark:1, mark_time:new Date()})
> db.tianyc04.insert({mark:2, mark_time:Date()})
posted on 2017-10-16 08:58  michellexiaoqi  阅读(723)  评论(0编辑  收藏  举报