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 次浏览

启动你的 职业

完成课程后获得认证

开始
广告
© . All rights reserved.