Bandingkan suka dengan suka
_id
key di mongo bukan (secara default) string - ini adalah objectId mongo.
Anda perlu membandingkan dengan jenis yang sama untuk mendapatkan hasil yang berarti:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId();
db.things.find(_id: {$gt: oid});
Jangan membaca file mongoexport
File ekspor Mongo terlihat seperti ini:
{ "_id" : { "$oid" : "4f876b00c56da1fa6a000030" }, ...
Ini adalah representasi json dari id objek. Mongo tidak ingin Anda menggunakan sintaks semacam itu ketika benar-benar menanyakan db. Ini tidak akan berhasil:
# will not work
db.things.find("_id.$oid": {$gt: "string"});
id sebagai string
Jika Anda memiliki id sebagai string, Anda akan melakukan:
var ObjectId = require('mongodb').ObjectID;
var str = "123456789012345678901234";
var oid = new ObjectId(str);
db.things.find(_id: {$gt: oid});
id sebagai sebagian string
Jika string yang Anda miliki bukan oid yang valid (panjangnya tidak 24 karakter), Anda hanya akan mendapatkan pengecualian dari mongo - atau tergantung pada driver Anda, oid baru. Jika Anda memiliki id objek parsial, Anda dapat mengisi dengan 0s untuk membuat oid yang valid dan oleh karena itu mengizinkan pencarian dengan id objek parsial. misalnya:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId(str + "0000");
db.things.find(_id: {$gt: oid});