Computer >> Máy Tính >  >> Lập trình >> MongoDB

MongoDB Giới hạn các trường và phép chiếu lát cắt với nhau?

Sử dụng toán tử $ slice. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.limitAndSliceProjectionDemo.insertOne(
   {
      "_id" : 101,
      "UserName" : "Carol",
      "UserAge" : 26,
      "UserMesssage" : [
         "Hi",
         "Hello",
         "Bye",
         "Awesome",
         "Good",
         "Bad",
         "Nice",
         "Good Night",
         "Good Morning"
      ]
   }
);
{ "acknowledged" : true, "insertedId" : 101 }

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.limitAndSliceProjectionDemo.find().pretty();

Điều này sẽ tạo ra kết quả sau -

{
   "_id" : 101,
   "UserName" : "Carol",
   "UserAge" : 26,
   "UserMesssage" : [
      "Hi",
      "Hello",
      "Bye",
      "Awesome",
      "Good",
      "Bad",
      "Nice",
      "Good Night",
      "Good Morning"
   ]
}

Sau đây là truy vấn để giới hạn các trường và thực hiện phép chiếu lát cắt cùng nhau. Ở đây, chúng tôi đang cắt từ 2 thành 4 -

> db.limitAndSliceProjectionDemo.find({ "UserName" : "Carol" }, {"_id": 0, "UserName":0,"UserAge":0, "UserMesssage": { "$slice": [2,4] } }).pretty();

Điều này sẽ tạo ra kết quả sau -

{ "UserMesssage" : [ "Bye", "Awesome", "Good", "Bad" ] }