在 MongoDB 中指定返回格式,以将值作为数组返回?
为此使用 聚合,并使用 $group 和 $addToSet 运算符将值添加到数组中
让我们首先使用文档创建一个集合 -
> dbspecifyReturnFormatDemoinsertOne({"Subject":"MongoDB"}); { "acknowledged" : true, "insertedId" : ObjectId("5cefd364ef71edecf6a1f6c0") } > dbspecifyReturnFormatDemoinsertOne({"Subject":"MySQL"}); { "acknowledged" : true, "insertedId" : ObjectId("5cefd369ef71edecf6a1f6c1") } > dbspecifyReturnFormatDemoinsertOne({"Subject":"SQL Server"}); { "acknowledged" : true, "insertedId" : ObjectId("5cefd36fef71edecf6a1f6c2") }
以下是使用 find() 方法从集合中显示所有文档的查询 -
> dbspecifyReturnFormatDemofind();
输出
{ "_id" : ObjectId("5cefd364ef71edecf6a1f6c0"), "Subject" : "MongoDB" } { "_id" : ObjectId("5cefd369ef71edecf6a1f6c1"), "Subject" : "MySQL" } { "_id" : ObjectId("5cefd36fef71edecf6a1f6c2"), "Subject" : "SQL Server" }
以下是指定返回格式的查询 -
> dbspecifyReturnFormatDemoaggregate([ { "$group": { "_id": 0, "Subject": { "$addToSet": "$Subject" } } }, { "$project": { "_id": 0, "Subject": 1 } } ]);
输出
{ "Subject" : [ "SQL Server", "MySQL", "MongoDB" ] }
广告