用於對重複文件進行分組的 MongoDB 查詢
要對重複文件進行分組,請使用 MongoDB aggregate()。我們建立一個包含文件的集合 −
> db.demo501.insertOne({"Name":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8752f0987b6e0e9d18f566") } > db.demo501.insertOne({"Name":"Bob"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8752f4987b6e0e9d18f567") } > db.demo501.insertOne({"Name":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8752f8987b6e0e9d18f568") } > db.demo501.insertOne({"Name":"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8752fb987b6e0e9d18f569") } > db.demo501.insertOne({"Name":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8752fd987b6e0e9d18f56a") } > db.demo501.insertOne({"Name":"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e875301987b6e0e9d18f56b") } > db.demo501.insertOne({"Name":"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e875307987b6e0e9d18f56c") }
使用 find() 方法從集合中顯示所有文件 −
> db.demo501.find();
這會生成以下輸出 −
{ "_id" : ObjectId("5e8752f0987b6e0e9d18f566"), "Name" : "Chris" } { "_id" : ObjectId("5e8752f4987b6e0e9d18f567"), "Name" : "Bob" } { "_id" : ObjectId("5e8752f8987b6e0e9d18f568"), "Name" : "Chris" } { "_id" : ObjectId("5e8752fb987b6e0e9d18f569"), "Name" : "John" } { "_id" : ObjectId("5e8752fd987b6e0e9d18f56a"), "Name" : "Chris" } { "_id" : ObjectId("5e875301987b6e0e9d18f56b"), "Name" : "John" } { "_id" : ObjectId("5e875307987b6e0e9d18f56c"), "Name" : "David" }
以下是 MongoDB 中對重複文件進行分組的查詢 −
> db.demo501.aggregate( [ { $group : { _id : "$Name" } } ] )
這會生成以下輸出 −
{ "_id" : "David" } { "_id" : "John" } { "_id" : "Bob" } { "_id" : "Chris" }
廣告