sql >> Databáze >  >> NoSQL >> MongoDB

Výjimka:nelze převést z typu BSON EOO na datum

Pravděpodobně máte jeden nebo více dokumentů s created_at hodnota, která není BSON Date a budete to muset opravit převedením těchto hodnot na Date nebo je odstraníte.

Tyto dokumenty můžete najít s $not dotaz, který používá $type operátor jako:

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

Pokud created_at hodnoty jsou datové řetězce, můžete najít dokumenty, které je třeba aktualizovat, a poté je aktualizovat v prostředí pomocí kódu jako:

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. Jaký je časově nejefektivnější způsob serializace/deserializace DataTable do/z Redis?

  2. Zdá se, že dotaz na datum s ISODate v mongodb nefunguje

  3. Převod řetězce na datum v mongodb

  4. Připojení k MongoDB 3.0 pomocí Java Spring