Confronta mi piace con mi piace
Il _id
key in mongo non è (per impostazione predefinita) una stringa:è un mongo objectId.
Devi confrontare con lo stesso tipo per ottenere un risultato significativo:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId();
db.things.find(_id: {$gt: oid});
Non leggere i file mongoexport
I file di esportazione Mongo hanno il seguente aspetto:
{ "_id" : { "$oid" : "4f876b00c56da1fa6a000030" }, ...
Questa è una rappresentazione json di un ID oggetto. Mongo non vuole che tu usi quel tipo di sintassi quando interroghi effettivamente il db. Questo non funzionerà:
# will not work
db.things.find("_id.$oid": {$gt: "string"});
id come stringa
Se hai l'id come stringa, faresti:
var ObjectId = require('mongodb').ObjectID;
var str = "123456789012345678901234";
var oid = new ObjectId(str);
db.things.find(_id: {$gt: oid});
id come parziale stringa
Se la stringa che hai non è un oid valido (non lungo 24 caratteri), otterrai solo un'eccezione da mongo o, a seconda del tuo driver, un nuovo oid. Se hai un ID oggetto parziale puoi riempire con 0 per creare un oid valido e quindi consentire la ricerca per ID oggetto parziale. es.:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId(str + "0000");
db.things.find(_id: {$gt: oid});