为MongoDB中的数据指定返回格式
借助MongoDB中的$addToSet来指定返回格式。让我们创建一个包含文档的集合-
> db.demo207.insertOne({"FavouriteTechnology":"Spring Boot"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3d8e7a03d395bdc21346f1") } > db.demo207.insertOne({"FavouriteTechnology":"MongoDB"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3d8e8f03d395bdc21346f2") } > db.demo207.insertOne({"FavouriteTechnology":"Groovy"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3d8ea603d395bdc21346f3") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo207.find();
这将产生以下输出-
{ "_id" : ObjectId("5e3d8e7a03d395bdc21346f1"), "FavouriteTechnology" : "Spring Boot" } { "_id" : ObjectId("5e3d8e8f03d395bdc21346f2"), "FavouriteTechnology" : "MongoDB" } { "_id" : ObjectId("5e3d8ea603d395bdc21346f3"), "FavouriteTechnology" : "Groovy" }
以下是指定返回格式的查询-
> db.demo207.aggregate([ ... { ... "$group": { ... "_id": 0, ... "FavouriteTechnology": { ... "$addToSet": "$FavouriteTechnology" ... } ... } ... }, ... { ... "$project": { ... "_id": 0, ... "FavouriteTechnology": 1 ... } ... } ...]);
这将产生以下输出-
{ "FavouriteTechnology" : [ "MongoDB", "Groovy", "Spring Boot" ] }