sql >> Databasteknik >  >> NoSQL >> MongoDB

Undantag:kan inte konvertera från BSON typ EOO till Date

Du har troligen ett eller flera dokument med en created_at värde som inte är ett BSON Date och du måste fixa det genom att konvertera dessa värden till Date eller ta bort dem.

Du kan hitta dessa dokument med en $not fråga som använder $type operatör som:

db.snippets.find({created_at: {$not: {$type: 9}}})

Om created_at värden är datumsträngar, du kan hitta de dokument som behöver uppdateras och sedan uppdatera dem i skalet med kod som:

db.snippets.find({created_at: {$not: {$type: 9}}}).forEach(function(doc) {
    // Convert created_at to a Date 
    doc.created_at = new Date(doc.created_at);
    db.snippets.save(doc);
})


  1. mongoDB upsert på array

  2. Vad betydde egentligen att MongoDB inte var ACID-kompatibel före v4?

  3. Hur uppdaterar man värdet för ett specifikt inbäddat dokument, inuti en array, för ett specifikt dokument i MongoDB?

  4. Använd fall för Redis poäng och rankningsfunktioner för set