在MongoDB中,什么是({$ natural:1})?

({$natural − 1})的工作方式类似于LIFO(LAST IN FIRST OUT),这意味着最后插入的文档将首先显示。

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

> db.demo614.insertOne({"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e988cddf6b89257f5584d8e")
}
> db.demo614.insertOne({"CountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e988ce0f6b89257f5584d8f")
}
> db.demo614.insertOne({"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e988ce3f6b89257f5584d90")
}
> db.demo614.insertOne({"CountryName":"IND"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e988cebf6b89257f5584d91")
}

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

> db.demo614.find();

这将产生以下输出-

{ "_id" : ObjectId("5e988cddf6b89257f5584d8e"), "CountryName" : "US" }
{ "_id" : ObjectId("5e988ce0f6b89257f5584d8f"), "CountryName" : "UK" }
{ "_id" : ObjectId("5e988ce3f6b89257f5584d90"), "CountryName" : "AUS" }
{ "_id" : ObjectId("5e988cebf6b89257f5584d91"), "CountryName" : "IND" }

以下是要使用的查询({$natural:1})-

> db.demo614.find().sort({$natural:-1})

这将产生以下输出-

{ "_id" : ObjectId("5e988cebf6b89257f5584d91"), "CountryName" : "IND" }
{ "_id" : ObjectId("5e988ce3f6b89257f5584d90"), "CountryName" : "AUS" }
{ "_id" : ObjectId("5e988ce0f6b89257f5584d8f"), "CountryName" : "UK" }
{ "_id" : ObjectId("5e988cddf6b89257f5584d8e"), "CountryName" : "US" }