以陣列形式僅返回特定欄位(電話號碼)的 MongoDB 查詢?
讓我們用文件建立一個集合 −
> db.demo166.insertOne({"details" : { "UserName" : "Chris", "UserAge":29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } }); { "acknowledged" : true, "insertedId" : ObjectId("5e368b159e4f06af551997cf") } > db.demo166.insertOne({"details" : { "UserName" : "David", "UserAge":21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } }); { "acknowledged" : true, "insertedId" : ObjectId("5e368b159e4f06af551997d0") }
使用 find() 方法從集合中顯示所有文件 −
> db.demo166.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5e368b159e4f06af551997cf"), "details" : { "UserName" : "Chris", "UserAge" : 29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } } { "_id" : ObjectId("5e368b159e4f06af551997d0"), "details" : { "UserName" : "David", "UserAge" : 21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } }
以下查詢將僅以陣列形式返回特定欄位(電話號碼) −
> db.demo166.distinct("details.PhoneDetails.PhoneNumber");
這將產生以下輸出 −
[ "98646463533", "87664534654" ]
廣告