MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

truy vấn mongoDB WHERE _id> ngưỡng

So sánh like với like

_id key trong mongo không phải (theo mặc định) là một chuỗi - nó là một objectId trong mongo.

Bạn cần so sánh với cùng loại để nhận được kết quả có ý nghĩa:

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

Không đọc tệp mongoexport

Các tệp xuất Mongo trông giống như sau:

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

Đây là một biểu diễn json của một id đối tượng. Mongo không muốn bạn sử dụng kiểu cú pháp đó khi thực sự truy vấn db. Điều này sẽ không hoạt động:

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

id dưới dạng một chuỗi

Nếu bạn có id là một chuỗi, bạn sẽ thực hiện:

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

id dưới dạng một phần chuỗi

Nếu chuỗi bạn có không phải là oid hợp lệ (không dài 24 ký tự), bạn sẽ chỉ nhận được một ngoại lệ từ mongo - hoặc tùy thuộc vào trình điều khiển của bạn, một oid mới. Nếu bạn có id đối tượng một phần, bạn có thể thêm các số 0 để tạo oid hợp lệ và do đó cho phép tìm kiếm theo id đối tượng một phần. ví dụ:

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. error:định nghĩa lớp hoặc đối tượng mong đợi

  2. Làm thế nào để tham gia nội bộ trong MongoDB?

  3. Meteor:tải tệp từ máy khách lên bộ sưu tập Mongo so với hệ thống tệp và GridFS

  4. MongoDB C ++, Cách thêm giá trị ISODate khi chèn

  5. Làm cách nào để RegisterClassMap cho tất cả các lớp trong một không gian tên cho MongoDb?