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

не можете да актуализирате свойството createdAt в mongoose?

Тъй като някои от документите са създадени, когато timestamps опцията е зададена на false (това е стойността по подразбиране) mongoose няма да знае тези времеви марки. Следователно, item._id.getTimestamp() ще върне недефинирано.

Това, което можете да направите, е да пресъздадете записите, където createdAt не съществува. След това Mongoose автоматично ще генерира клеймото за време и ще ги зададе на текущото клеймо за време, ако опцията е активирана:

    const profilesWithoutCreated = await Profile.find({createdAt: {$exists: false}}).exec();
    const timeStampExtract = [];
    let newProfile;
    for (const profile of profiles) {
       newProfile = new Profile(profile);
       newProfile.createdAt = profile._id.getTimestamp();
       const savedProfile = await newProfile.save();
       timeStampExtract.push(savedProfile._id.getTimestamp());
    }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Защо получавам грешка 500. Съжаляваме, но нещо се обърка при изпращане на приложението ми към Heroku?

  2. Инсталиране и използване на MongoDB в Grails 3.x

  3. MongoDB драйвер 2.0 C# има ли начин да разберете дали сървърът не работи? В новия драйвер как да изпълним командата Ping?

  4. MongoDB:безопасно ли е да използвате идентификатора на документа публично?

  5. MongoDB Spark Connector py4j.protocol.Py4JJavaError:Възникна грешка при извикване на o50.load