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

Mongodb získá 3bajtový čítač z ObjectId

Můžete zkusit následující hack, kde můžete získat ekvivalentní reprezentaci řetězce ObjectId pomocí toString() nebo toHexString() , použijte parseInt a slice získat díly. Protože hexadecimální číslice mají polovinu bajtu, jsou posuny dvakrát větší:

db.collection("collectionName").findOne({}, function(err, result) {     
    if (result) {
        var id          = result._id.toString(), ctr = 0;
        var timestamp   = parseInt(id.slice(ctr, (ctr+=8)), 16);
        var machineID   = parseInt(id.slice(ctr, (ctr+=6)), 16);
        var processID   = parseInt(id.slice(ctr, (ctr+=4)), 16);
        var counter     = parseInt(id.slice(ctr, (ctr+=6)), 16);
        console.log(id);
        console.log(timestamp);
        console.log(machineID);
        console.log(processID);
        console.log(counter);                    
    }       
});



  1. Co by mohlo způsobit chybu zničení topologie při volání db.destroyDatabase s node.js mongodb native?

  2. Pomozte definovat úžasný nástroj GUI MongoDB

  3. Spring Data MongoDB s Java 8 LocalDate MappingException

  4. Reindexuje mongodb, pokud změníte pole, které se používá v indexu?