MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB $ currentDate

Trong MongoDB, $currentDate toán tử đặt giá trị của một trường thành ngày hiện tại.

Nó có thể được đặt làm Ngày hoặc dấu thời gian gõ phím. Giá trị mặc định là Ngày .

$currentDate là một bản cập nhật và chỉ có thể được sử dụng khi cập nhật tài liệu chứ không phải khi chèn chúng (mặc dù nó có thể được sử dụng trong các hoạt động nâng cấp).

Ví dụ

Giả sử chúng ta có một bộ sưu tập có tên là dogs với tài liệu sau:

{
	"_id" : 1,
	"name" : "Wag",
	"goodDog" : true,
	"dateModified" : ISODate("2020-01-01T00:00:00Z")
}

Và chúng tôi muốn thực hiện một thay đổi đối với tài liệu. Khi chúng tôi thực hiện thay đổi, chúng tôi cần cập nhật dateModified trường cho đến ngày thay đổi.

Do đó, chúng ta có thể sử dụng $currentDate toán tử để đặt ngày thành ngày hiện tại. Chúng ta có thể làm điều gì đó như sau:

db.dogs.update( 
  { _id: 1 }, 
  {
    $currentDate: {
      dateModified: true
    },
    $set: {
      goodDog: false
    }
  }
)

Ở đây, chúng tôi sử dụng dateModified: true để đặt ngày bằng cách sử dụng Ngày loại (đây là cách viết tắt để đặt nó là Ngày loại).

Chúng tôi có thể xác minh kết quả bằng cách xem lại bộ sưu tập / tài liệu:

db.dogs.findOne()

Kết quả:

{
	"_id" : 1,
	"name" : "Wag",
	"goodDog" : false,
	"dateModified" : ISODate("2021-01-16T04:17:41.206Z")
}

Chúng ta có thể thấy rằng dateModified trường đã được cập nhật thành ngày hiện tại (tức là ngày / giờ mà tôi đã chạy bản cập nhật). goodDog trường cũng đã được cập nhật như được chỉ định.

Dấu thời gian

Theo mặc định $currentDate sử dụng Ngày gõ phím. Ngoài ra, bạn có thể chỉ định loại trong tài liệu. Do đó, bạn có thể sử dụng {$type: timestamp} để ngày được cập nhật thành dấu thời gian Loại BSON.

Ví dụ:

db.dogs.update( 
  { _id: 1 }, 
  {
    $currentDate: {
      dateModified: { $type: "timestamp" }
    },
    $set: {
      goodDog: true
    }
  }
)

Trong trường hợp này, chúng tôi đã cung cấp tài liệu chỉ định dấu thời gian gõ phím.

Bạn cũng có thể sử dụng phương pháp này cho Ngày gõ (hoặc sử dụng phương pháp viết tắt như đã thấy trong ví dụ trước).

Kiểm tra bộ sưu tập:

db.dogs.findOne()

Kết quả:

{
	"_id" : 1,
	"name" : "Wag",
	"goodDog" : true,
	"dateModified" : Timestamp(1610771023, 1)
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lặp qua tất cả các bộ sưu tập Mongo và thực hiện truy vấn

  2. JSON tuần tự hóa Mongodb

  3. Tùy chọn Mongoose autoReconnect

  4. Làm thế nào để sửa chữa mongodb của tôi?

  5. Ứng dụng giống Twitter sử dụng MongoDB