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

MongoDB $currentDate

В MongoDB, $currentDate операторът задава стойността на поле на текущата дата.

Може да бъде зададена като Дата или клеймо за време Тип. По подразбиране е Дата .

$currentDate е актуализация оператор и може да се използва само при актуализиране на документи, не и при вмъкването им (въпреки че може да се използва при операции за внасяне).

Пример

Да предположим, че имаме колекция, наречена dogs със следния документ:

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

И ние искаме да направим промяна в документа. Когато направим промяната, трябва да актуализираме dateModified поле до датата на промяната.

Следователно можем да използваме $currentDate оператор, за да зададете датата на текущата дата. Можем да направим нещо подобно:

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

Тук използваме dateModified: true за да зададете датата с помощта на Дата тип (това е съкратен начин да го зададете като Дата тип).

Можем да проверим резултата, като погледнем отново колекцията/документа:

db.dogs.findOne()

Резултат:

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

Можем да видим, че dateModified полето е актуализирано до текущата дата (т.е. датата/часа, когато изпълних актуализацията). goodDog полето също е актуализирано, както е посочено.

Чети за време

По подразбиране $currentDate използва Дата Тип. Като алтернатива можете да посочите типа в документ. Следователно можете да използвате {$type: timestamp} така че датата да се актуализира до клеймо за време Тип BSON.

Пример:

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

В този случай предоставихме документ, който посочва клеймото за време Тип.

Можете също да използвате този метод за Дата тип (или използвайте стенографския метод, както се вижда в предишния пример).

Проверете колекцията:

db.dogs.findOne()

Резултат:

{
	"_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. Функция за извикване в агрегата на mongodb?

  2. Вложени масиви в Mongoose

  3. задайте полето като празно за обект mongo с помощта на mongoose

  4. Mongoose find() RegExp за полето тип номер

  5. Как се инсталира MongoDb от Meteor?