您可以使用聚合函数使用另一个字段的值来更新MongoDB字段。在这里,我们将创建两个集合:
名称
学生信息
<名称>集合
使用文档创建第一个集合的查询如下:
> db.name.insert({"FirstName":"John","LastName":"Smith"}); WriteResult({ "nInserted" : 1 })
现在,您可以借助find()
method显示集合中的所有文档。查询如下:
> db.name.find().pretty();
以下是显示集合“名称”文档的输出:
{ "_id" : ObjectId("5c6c00dd68174aae23f5ef55"), "FirstName" : "John", "LastName" : "Smith" }
<studentInformation>集合
使用文档创建第二个集合的查询如下:
> db.studentInformation.insert({"StudentFirstName":"Carol","StudentLastName":"Taylor"}); WriteResult({ "nInserted" : 1 })
现在,您可以借助find()
method显示集合中的所有文档。查询如下:
> db.studentInformation.find().pretty();
以下是输出:
{ "_id" : ObjectId("5c6c013068174aae23f5ef56"), "StudentFirstName" : "Carol", "StudentLastName" : "Taylor" }
现在,让我们用另一个集合“ studentInformation”更新集合“名称”。查询如下:
> db.studentInformation.aggregate( [ {"$addFields":{"FullName":{"$concat":["$StudentFirstName"," ","$StudentLastName"]} }}, {"$out":"name"} ] );
现在,您可以检查集合“名称”的文档。查询如下:
> db.name.find().pretty();
以下是显示我们已成功更新字段的输出:
{ "_id" : ObjectId("5c6c013068174aae23f5ef56"), "StudentFirstName" : "Carol", "StudentLastName" : "Taylor", "FullName" : "Carol Taylor" }