MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Метод MongoDB Date().

В MongoDB, Date() метод връща дата или като низ, или като обект Date.

  • Когато го извикате като Date() , връща текущата дата като низ в mongo черупка.
  • Когато го извикате като new Date() , той връща текущата дата като обект Date.

Можете също да предоставите конкретна дата като аргумент за new Date() , така че да използва тази дата.

Пример – Date()

Ето пример за вмъкване на документ в колекция и използване на Date() като стойност за едно от полетата:

db.dogs.insert(
  { 
    "_id" : 1,
    "name" : "Fetch", 
    "lastModified" : Date()
  }
)

След като изпълним този код, можем да разгледаме получения документ:

db.dogs.find().pretty()

Резултат:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}

Можем да видим, че lastModified полето за дата използва низ от дата като стойност.

Пример – new Date()

Както споменахме, ако искате да върнете обект за дата вместо низ от дата, използвайте new Date() .

Пример:

db.dogs.insert(
  { 
    "_id" : 2,
    "name" : "Wag", 
    "lastModified" : new Date()
  }
)

Просто се добавя Date() с new води до обект Date, а не низ от дата.

Сега нека отново проверим колекцията от документи:

db.dogs.find().pretty()

Резултат:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}
{
	"_id" : 2,
	"name" : "Wag",
	"lastModified" : ISODate("2021-01-27T00:19:08.862Z")
}

Можем да видим, че датата във втория документ е обвита с ISODate() помощник. ISODate е в UTC.

Посочете конкретна дата

Можете да посочите своя собствена дата, когато извикате Date() метод.

За да направите това, предайте низ от дата ISO-8601 с година в рамките на включващия диапазон 0 до 9999 към new Date() конструктор или ISODate() функция.

Ето един пример.

db.dogs.update(
  { "_id" : 1 },
  { $set : { "born" : new Date( "2020-10-07" ) } }
)

Сега нека проверим документа:

db.dogs.find( { "_id": 1 } ).pretty()

Резултат:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)",
	"born" : ISODate("2020-10-07T00:00:00Z")
}

Можем да видим, че полето за раждане е добавено и е зададено на предоставената дата.

Можете да предоставите датата в следните формати.

Формат Описание
YYYY-mm-dd Връща ISODate с посочената дата.
YYYY-mm-ddTHH:MM:ss Указва датата и часа в местната часова зона на клиента и връща ISODate с посочената дата и час в UTC.
YYYY-mm-ddTHH:MM:ssZ Указва датата и часа в UTC и връща ISODate с посочената дата и час в UTC.
Цяло число Можете също да предоставите цяло число като стойност. Когато направите това, той посочва датата и часа като милисекунди от епохата на Unix (1 януари 1970 г.) и връща получения ISODate пример.

Unix Epoch

Ето пример за посочване на цяло число като аргумент за new Date() .

Това посочва датата и часа като милисекунди от епохата на Unix (1 януари 1970 г.) и връща получения ISODate пример.

db.dogs.update(
  { "_id" : 2 },
  { $set : { "born" : new Date( 1601207768012 ) } }
)

Сега нека проверим документа:

db.dogs.find( { "_id": 2 } ).pretty()

Резултат:

{
	"_id" : 2,
	"name" : "Wag",
	"lastModified" : ISODate("2021-01-27T00:19:08.862Z"),
	"born" : ISODate("2020-09-27T11:56:08.012Z")
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. В MongoDB как да върна само част от масива?

  2. MongoDB SSL със самоподписани сертификати в Node.js

  3. Форматирайте число като процент в SQL

  4. Как да защитите MongoDB с потребителско име и парола

  5. MongoDB и PostgreSQL мисли