MongoDB 既能限制欄位,又能分片投影?


使用 $slice 運算子。我們首先使用文件建立一個集合 -

> 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 }

以下查詢使用 find() 方法顯示集合中的所有文件 -

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

這將生成以下輸出 -

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

以下查詢同時限制欄位並執行分片投影。此處,我們的分片範圍是 2 到 4 -

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

這將生成以下輸出 -

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

更新於: 30-Jul-2019

217 次瀏覽

啟動你的 職業

完成課程後獲得認證

開始
廣告