如何在 MongoDB 中连接字段?


要连接字段,请使用 $concat 运算符。我们首先使用文档创建集合 −

>db.concatenateFieldsDemo.insertOne({"StudentFirstName":"Adam","StudentLastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd6ebf46d78f205348bc62e")
}
>db.concatenateFieldsDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd6ebfc6d78f205348bc62f")
}
>db.concatenateFieldsDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd6ec376d78f205348bc630")
}
>db.concatenateFieldsDemo.insertOne({"StudentFirstName":"Sam","StudentLastName":"Williams"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd6ec436d78f205348bc631")
}

以下是使用 find() 方法从集合显示所有文档的查询 −

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

这将生成以下输出 −

{
   "_id" : ObjectId("5cd6ebf46d78f205348bc62e"),
   "StudentFirstName" : "Adam",
   "StudentLastName" : "Smith"
}
{
   "_id" : ObjectId("5cd6ebfc6d78f205348bc62f"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Doe"
}
{
   "_id" : ObjectId("5cd6ec376d78f205348bc630"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Miller"
}
{
   "_id" : ObjectId("5cd6ec436d78f205348bc631"),
   "StudentFirstName" : "Sam",
   "StudentLastName" : "Williams"
}

以下是选择和连接字段的查询 −

> db.concatenateFieldsDemo.aggregate([
   {$project:{"StudentFullName":{$concat:
   ["$StudentFirstName","/","$StudentLastName"]},"StudentFirstName":1,"StudentLastName":1}}
]);

这将生成以下输出 −

{ "_id" : ObjectId("5cd6ebf46d78f205348bc62e"), "StudentFirstName" : "Adam", "StudentLastName" : "Smith", "StudentFullName" : "Adam/Smith" }
{ "_id" : ObjectId("5cd6ebfc6d78f205348bc62f"), "StudentFirstName" : "John", "StudentLastName" : "Doe", "StudentFullName" : "John/Doe" }
{ "_id" : ObjectId("5cd6ec376d78f205348bc630"), "StudentFirstName" : "David", "StudentLastName" : "Miller", "StudentFullName" : "David/Miller" }
{ "_id" : ObjectId("5cd6ec436d78f205348bc631"), "StudentFirstName" : "Sam", "StudentLastName" : "Williams", "StudentFullName" : "Sam/Williams" }

更新于: 30-7-2019

289 次浏览量

开启你的职业生涯

完成课程认证

开始
广告
© . All rights reserved.