Jämför gilla med gilla
_id
nyckel i mongo är inte (som standard) en sträng - det är ett mongo objekt-ID.
Du måste jämföra med samma typ för att få ett meningsfullt resultat:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId();
db.things.find(_id: {$gt: oid});
Läs inte mongoexport-filer
Mongo exportfiler ser ut så här:
{ "_id" : { "$oid" : "4f876b00c56da1fa6a000030" }, ...
Detta är en json-representation av ett objekt-id. Mongo vill inte att du ska använda den typen av syntax när du faktiskt frågar efter db. Detta kommer inte att fungera:
# will not work
db.things.find("_id.$oid": {$gt: "string"});
id som en sträng
Om du har id:t som en sträng gör du:
var ObjectId = require('mongodb').ObjectID;
var str = "123456789012345678901234";
var oid = new ObjectId(str);
db.things.find(_id: {$gt: oid});
id som en delvis sträng
Om strängen du har inte är en giltig oid (inte 24 tecken lång), får du bara ett undantag från mongo - eller beroende på din förare, en ny oid. Om du har ett partiellt objekt-id kan du fylla på med nollor för att göra en giltig oid och därför tillåta att hitta med partiella objekt-id. t.ex.:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId(str + "0000");
db.things.find(_id: {$gt: oid});