使用MongoDB限制字段中值的数量?

要限制字段中值的数量,请使用$slice运算符。

首先让我们创建一个包含文档的集合-

> db.numberOfValuesDemo.insertOne({"Values":[100,200,300,900,1000,98]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefb736ef71edecf6a1f6ab")
}

find()方法的帮助下显示集合中的所有文档-

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

输出结果

{
   "_id" : ObjectId("5cefb736ef71edecf6a1f6ab"),
   "Values" : [
      100,
      200,
      300,
      900,
      1000,
      98
   ]
}

以下是使用MongoDB限制字段中的值数量的查询-

> db.numberOfValuesDemo.find({},{ "Values": { "$slice": 2 } } );

输出结果

{ "_id" : ObjectId("5cefb736ef71edecf6a1f6ab"), "Values" : [ 100, 200 ] }