如何获取 MongoDB 聚合中的子字符串

要获取子字符串,请在MongoDB中使用$substr。让我们创建一个包含文档的集合-

> db.demo176.insertOne({"ProductName":"PRODUCT-1"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3843a09e4f06af551997ef")
}
> db.demo176.insertOne({"ProductName":"PRODUCT-102"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3843a69e4f06af551997f0")
}
> db.demo176.insertOne({"ProductName":"PRODUCT-105"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3843aa9e4f06af551997f1")
}

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

> db.demo176.find();

这将产生以下输出-

{ "_id" : ObjectId("5e3843a09e4f06af551997ef"), "ProductName" : "PRODUCT-1" }
{ "_id" : ObjectId("5e3843a69e4f06af551997f0"), "ProductName" : "PRODUCT-102" }
{ "_id" : ObjectId("5e3843aa9e4f06af551997f1"), "ProductName" : "PRODUCT-105" }

以下是在MongoDB聚合中获取子字符串的查询-

> db.demo176.aggregate(
...   [
...      {
...         $project:
...            {
...
...               ProductName: { $substr: [ "$ProductName", 0, 7] }
...
...            }
...      }
...   ]
...)

这将产生以下输出-

{ "_id" : ObjectId("5e3843a09e4f06af551997ef"), "ProductName" : "PRODUCT" }
{ "_id" : ObjectId("5e3843a69e4f06af551997f0"), "ProductName" : "PRODUCT" }
{ "_id" : ObjectId("5e3843aa9e4f06af551997f1"), "ProductName" : "PRODUCT" }