likeとlikeを比較
_id
mongoのキーは(デフォルトでは)文字列ではなく、mongoobjectIdです。
意味のある結果を得るには、同じタイプと比較する必要があります:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId();
db.things.find(_id: {$gt: oid});
mongoexportファイルを読み取らない
Mongoエクスポートファイルは次のようになります:
{ "_id" : { "$oid" : "4f876b00c56da1fa6a000030" }, ...
これは、オブジェクトIDのjson表現です。 Mongoは、実際にデータベースにクエリを実行するときに、そのような構文を使用することを望んでいません。これは機能しません:
# will not work
db.things.find("_id.$oid": {$gt: "string"});
文字列としてのid
IDを文字列として使用している場合は、次のようにします。
var ObjectId = require('mongodb').ObjectID;
var str = "123456789012345678901234";
var oid = new ObjectId(str);
db.things.find(_id: {$gt: oid});
idを部分的として 文字列
使用している文字列が有効なOIDではない場合(24文字の長さではない場合)、mongoから例外が発生するか、ドライバーによっては新しいOIDが発生します。部分的なオブジェクトIDがある場合は、0を埋めて有効なoidを作成し、部分的なオブジェクトIDによる検索を許可できます。例:
var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId(str + "0000");
db.things.find(_id: {$gt: oid});