Как создать поле даты со значением по умолчанию, значение по умолчанию должно быть текущим временным метром всякий раз, когда вставка произошла в коллекции.Mongo db default timestamp
ответ
Вы просто сделаете это при вставке ... для текущего timestamp
.
collection.insert({ "date": datetime.now() }
Спасибо thalaiva .. Этот запрос, с которым мы можем справиться, чтобы запускать каждую вставку через запрос, я согласен с этим. Есть ли способ обработать эту вставку даты с помощью такой конфигурации, как концепция RDBMS, ниже запрос @columnName datetime default CURRENT_TIMESTAMP –
@JagadeesanG: вам понадобится mongoose, если вы идете со схемой ... mongodb - такая схема. http://mongoosejs.com/docs/2.7.x/docs/schematypes.html – Thalaivar
Thats pretty simple! Когда вы используете Mongoose, например, вы можете передавать функции в качестве значения по умолчанию. Затем Mongoose вызывает функцию для каждой вставки.
Так что в вашей схеме вы могли бы сделать что-то вроде:
{
timestamp: { type: Date, default: Date.now},
...
}
Не забудьте только передать объект функции самого Date.now
, а не значение вызова функции Date.now()
как это будет только установить дату, как только к значению когда ваша схема была создана.
Это решение относится к Mongoose & Node.Js, и я надеюсь, что это ваш usecase, потому что вы не уточнили это более точно.
Спасибо друзья .. Я нашел другой способ получить временную метку из поля _id. objectid.gettimestamp() из этого мы можем получить его штамп времени.
Это немного старый, но я использую метод Date.now(), он не получает текущую дату и время, он застревает в то время, когда вы запустили свой процесс узла. Таким образом, все временные метки будут установлены по умолчанию на Date.now(), когда вы запустили свой сервер. Один из способов, которым я занимался, состоял в том, чтобы сделать следующее:
ExampleSchema.pre('save', function (next) {
const instanceOfSchema = this;
if(!instanceOfSchema.created_at){
instanceOfSchema.created_at = Date.now();
}
instanceOfSchema.updated_at = Date.now();
next();
})
Вы используете какой-либо драйвер? язык программирования? – styvane
Мы получаем данные от .Net-услуг .. но у этой части нет доступа. Есть ли способ создать поле в самой настройке Mongo. –
Как вы вставляете документ? вы используете драйвер 'mongodb-csharp' или оболочку? – styvane