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

Moongoose 3.8.8 có hỗ trợ toán tử vị trí $ không?

Điều này thực sự không quan trọng và không bao giờ quan trọng đối với bất kỳ triển khai "khuôn khổ" nào và tôi không ngại giải thích tại sao.

Mọi "khuôn khổ" đơn lẻ (chẳng hạn như Mongoose, Mongoid, Doctrine, MongoEngine, v.v., v.v.) về cơ bản đều được xây dựng dựa trên triển khai "trình điều khiển" cơ bản mà trong hầu hết các trường hợp đều được phát triển bởi chính nhân viên MongoDB. Vì vậy, chức năng cơ bản luôn hoạt động ngay cả khi bạn cần "đào sâu" xuống một cấp độ để sử dụng các phương pháp "gốc" đó.

Vì vậy, đây sẽ là ví dụ sử dụng gốc trong trường hợp này:

List.collection.update(
{},
{ "$push": {
    "list": {
      "$each": [ 1, 2, 3 ],
      "$position": 0 }
    }
},function(err,NumAffected) {
  console.log("done");

});

Lưu ý phương pháp "thu thập" được sử dụng từ mô hình, đó là lấy các chi tiết thu thập "thô" từ trình điều khiển. Vì vậy, bạn đang sử dụng phương pháp của nó chứ không phải một số phương pháp "được bọc" có thể đang thực hiện thêm quá trình xử lý.

Lý do tiếp theo và cơ bản nhất là nếu bạn không thể tìm thấy phương pháp và ứng dụng của các toán tử mà bạn cần ở đây là một thực tế đơn giản.

Mọi thao tác đơn lẻ như được sử dụng bởi các phương thức trong mọi khuôn khổ và phương thức trình điều khiển cơ bản về cơ bản là một lệnh gọi phương thức "runCommand" trong API cơ bản. Vì vậy, vì lệnh gọi cơ bản đó có sẵn ở mọi nơi (bằng một số hình thức hay cách khác, vì nó phải như vậy), nên bạn có thể thực hiện mọi thứ mà bạn thấy được quảng cáo trên trang MongoDB với mọi triển khai ngôn ngữ trên bất kỳ khuôn khổ.

Nhưng cách gọi ngắn gọn cho yêu cầu cụ thể của bạn là, vì đây thực sự không phải là phương pháp gọi nhưng chỉ đơn giản là một phần của các đối số BSON như được truyền vào, sau đó tất nhiên không có giới hạn bởi trình điều khiển ngôn ngữ cụ thể để thực sự sử dụng điều này.

Vì vậy, bạn có thể sử dụng các đối số mới này mà không cần cập nhật lên phiên bản mới nhất. Nhưng bạn có thể sẽ nhận được một số phương pháp hay để làm như vậy nếu bạn thực sự làm như vậy.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn gần / địa lý MongoDb với khoảng cách thay đổi

  2. Làm cách nào để kích hoạt libmongoc ssl trong PHP 7 cho kết nối Mongodb?

  3. Làm cách nào để tạo trường mới từ một chuỗi hiện có với $ Project?

  4. meteor / mongodb:Sử dụng DB khác để xác thực &đọc / ghi

  5. Lên lịch công việc Node.js năm phút một lần