MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongoDB заявка WHERE _id> праг

Сравнете подобно с подобно

_id ключът в mongo не е (по подразбиране) низ - той е mongo objectId.

Трябва да сравните със същия тип, за да получите значим резултат:

var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId();
db.things.find(_id: {$gt: oid});

Не четете mongoexport файлове

Файловете за експортиране на Mongo изглеждат така:

{ "_id" : { "$oid" : "4f876b00c56da1fa6a000030" }, ...

Това е json представяне на идентификатор на обект. Mongo не иска да използвате този вид синтаксис, когато всъщност правите заявки към db. Това няма да работи:

# will not work
db.things.find("_id.$oid": {$gt: "string"});

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. Ако имате частичен идентификатор на обект, можете да добавите 0s, за да направите валиден оид и следователно да разрешите намирането чрез частични идентификатори на обекти. напр.:

var ObjectId = require('mongodb').ObjectID;
var oid = new ObjectId(str + "0000");
db.things.find(_id: {$gt: oid});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да архивирате и възстановите ClusterControl

  2. колона за актуализиране на колекция в mongodb

  3. намерете в MongoCollection<Document>

  4. пивоварни услуги. Не може да стартира услугата. Неуспешно получаване на Bootstrap:5:Грешка при въвеждане/извеждане

  5. $filter до 2 вложени нива в mongodb