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" ] }
廣告