MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

nie można zaktualizować właściwości createdAt w manguście?

Ponieważ niektóre dokumenty zostały utworzone, gdy timestamps opcja została ustawiona na false (jest to wartość domyślna) mangusta nie będzie znała tych znaczników czasu. Stąd item._id.getTimestamp() zwróci undefined.

To, co możesz zrobić, to odtworzyć wpisy, w których createdAt nie istnieje. Mongoose automatycznie wygeneruje znaczniki czasu i ustawi je na bieżący znacznik czasu, jeśli opcja jest włączona:

    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. Jak wstawić nowy obiekt bez usuwania poprzedniego

  2. Czy powinienem używać Java String Pool do synchronizacji na podstawie unikalnego identyfikatora klienta?

  3. Rozproszone geograficznie klastry MongoDB na AWS w regionie UE

  4. Operacje Mongo głodują

  5. Jak zwrócić format daty ISO w PHP dla MongoDB?