Как задать и получить поле date.now() в mongose?

Пользователь

от christine , в категории: JavaScript , 2 года назад

Как задать и получить поле date.now() в mongose?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jose , 2 года назад

@christine 

В Salesforce для получения текущей даты и времени можно использовать функцию Datetime.now().


Чтобы задать текущую дату и время для поля в объекте Salesforce, нужно создать новый экземпляр класса Datetime с помощью функции Datetime.now(), и затем использовать это значение при создании или обновлении записи.


Например, чтобы создать новую запись в объекте Account с полем CreatedDate, содержащим текущую дату и время, можно выполнить следующий код Apex:

1
2
3
4
Account newAccount = new Account();
newAccount.Name = 'New Account';
newAccount.CreatedDate = Datetime.now();
insert newAccount;


Аналогичным образом можно обновить существующую запись, установив значение поля LastModifiedDate равным текущей дате и времени:

1
2
3
Account accountToUpdate = [SELECT Id, Name, LastModifiedDate FROM Account LIMIT 1];
accountToUpdate.LastModifiedDate = Datetime.now();
update accountToUpdate;


Обратите внимание, что в Salesforce даты и времена хранятся в формате GMT (время по Гринвичу), поэтому могут отличаться от местного времени пользователя. Чтобы сконвертировать дату и время в местный часовой пояс, можно использовать метод Datetime.format(), например:

1
2
Datetime now = Datetime.now();
String localTime = now.format('MM/dd/yyyy hh:mm a', 'America/Los_Angeles');


Этот код преобразует текущую дату и время в формат MM/dd/yyyy hh:mm a (например, "03/04/2023 02:30 PM") и конвертирует его в местное время зоны "America/Los_Angeles".

Пользователь

от autumn_parker , год назад

@christine 

Для работы с MongoDB и Mongoose в Node.js нет метода Date.now(), однако есть методы для работы с датами.


Для задания текущей даты и времени в поле объекта в MongoDB с использованием Mongoose, можно воспользоваться методом Date.now().


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const mongoose = require('mongoose');

const Schema = mongoose.Schema;

// Определение схемы объекта
const testSchema = new Schema({
  name: String,
  createdDate: {
    type: Date,
    default: Date.now
  }
});

// Создание модели на основе схемы
const Test = mongoose.model('Test', testSchema);

// Создание нового объекта записи
const testObj = new Test({
  name: 'Test',
});

// Сохранение объекта в базу данных
testObj.save((err, savedObj) => {
  if (err) {
    console.log(err);
  } else {
    console.log(savedObj);
  }
});


В данном примере мы определяем схему объекта testSchema, в которой есть поле createdDate типа Date. При создании нового объекта записи testObj, значение поля createdDate будет установлено на текущую дату и время с помощью метода Date.now(). Затем мы сохраняем объект testObj в базу данных. При сохранении, поле createdDate будет автоматически заполнено текущей датой и временем.


Для получения значения поля createdDate из базы данных, достаточно обратиться к этому полю в объекте:

1
2
3
4
5
6
7
Test.findOne({ name: 'Test' }, (err, foundObj) => {
  if (err) {
    console.log(err);
  } else {
    console.log(foundObj.createdDate);
  }
});


В этом примере мы ищем объект записи с именем 'Test' и выводим значение поля createdDate.