Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cách chèn Date() vào MongoDB qua Mongo Shell

Giới thiệu

Để chèn đối tượng Date vào MongoDB qua mongo shell, bạn tạo biến Date trong JavaScript rồi gán vào trường khi insert.

Cú pháp

var tenBien = new Date(nam, thang, ngay, gio, phut);
db.tenCollection.insertOne({ tenTruongNgay: tenBien });

Lưu ý: Tháng trong JavaScript Date bắt đầu từ 0 (0=Tháng 1, 11=Tháng 12).

Ví dụ minh họa

1. Tạo biến Date (29/04/2019, 13:12)

> var taoNgay = new Date(2019, 03, 29, 13, 12);

2. Insert document với biến Date

> db.chenNgayBienDemo.insertOne({
    "TenNguoiDung": "John",
    "TinNhan": ["Hi", "Hello", "Awesome"],
    "NgayDang": taoNgay
});

3. Kết quả - MongoDB lưu dưới dạng ISODate

{ 
    "_id" : ObjectId("5c9d1b19a629b87623db1b21"), 
    "TenNguoiDung" : "John", 
    "TinNhan" : [ "Hi", "Hello", "Awesome" ], 
    "NgayDang" : ISODate("2019-04-29T07:42:00Z") 
}

Các cách tạo Date khác

CáchCú phápVí dụ
ISODate stringnew ISODate("2019-04-29T13:12:00Z")UTC time
Date stringnew Date("2019-04-29")Local time midnight
Timestampnew Date(1556543520000)Milliseconds since epoch
Hiện tạinew Date()Now

Lưu ý quan trọng

  • MongoDB lưu Date dưới dạng UTC (ISODate)
  • Khi query, MongoDB tự chuyển đổi múi giờ nếu cần
  • Nên dùng ISODate string để tránh nhầm lẫn múi giờ
  • Trong driver (Node.js, Python...), truyền Date object gốc của ngôn ngữ đó