Загрузить поле времени создания документа в Mongo DB из конвейера наборов потоков

Нам нужно добавить поле «doc_creationtime» в формате даты или строки «yyyy-mm-ddTHH:mm:ss.SSSZ» в каждый документ, вставленный в коллекцию MongoDb с использованием конвейера. Значение даты не должно рассчитываться поэтапно. Он должен быть извлечен из базы данных Mongo в точное время, когда документ вставляется в базу данных Mongo.

Поскольку наше требование состоит в том, чтобы получить время создания документа до миллисекунд, получение времени создания документа из «Object_Id» в MongoDb не может быть использовано, поскольку оно содержит время создания документа только до секунд.

мы уже используем приведенное ниже для расчета времени, запись проходит через конвейер и назначается полю 'docfetchedtime' ${time:extractStringFromDateTZ(time:now(), 'GMT', "yyyy-MM-dd'T'HH :мм:сс.ССС+00:00")}

Общее требование состоит в том, чтобы получить разницу между временем создания документа в базе данных Mongo и рассчитанным выше «время docfetched», чтобы узнать, сколько времени требуется конвейеру для извлечения и загрузки одного документа.

мы уже используем приведенное ниже для расчета времени, запись проходит через конвейер и назначается полю 'docfetchedtime' ${time:extractStringFromDateTZ(time:now(), 'GMT', "yyyy-MM-dd'T'HH :мм:сс.ССС+00:00")}

Общее требование состоит в том, чтобы получить разницу между временем создания документа в базе данных Mongo и вычисленным выше «время docfetched», чтобы узнать, сколько времени потоковые потоки тратят на получение и загрузку одного документа.


person bhanvi    schedule 27.11.2019    source источник
comment
Добавьте свой код или схему здесь   -  person Priyank    schedule 27.11.2019


Ответы (1)


Я использую timestamps:true в схеме/модели коллекции, например:

const schema = new Schema({
    Field_1:{type:String, trim:true, uppercase:true, required:true},
    Field_2:{type:String, trim:true, lowercase:true, required:true},
    ...
},{
    collection:'collectionName',
    timestamps:true
})

Это автоматически создает поля createdAt и updatedAt в документе.

введите здесь описание изображения

И я использую библиотеку moment.js для работы с датами.

person Sergi Nadal    schedule 27.11.2019