collection.find() 總是傳回 MongoDB 的所有欄位?
您可以使用下列語法從collection.find()傳回特定欄位。
情況1 - 語法如下 -
db.yourCollectionName.find({},{"yourFieldName":1}).pretty();
上面的欄位名稱設為 1 表示它將只傳回該欄位。如果設為 0,它將傳回除設定為 0 的欄位之外的所有欄位。
情況 2 - 語法如下 -
db.yourCollectionName.find({},{"yourFieldName":0}).pretty();
為了理解上述語法,讓我們用 document 建立一個集合。使用文件建立集合的查詢如下 -
> db.returnFieldInFindDemo.insertOne({"StudentName":"John","StudentAge":23,"TechnicalSubject":["MongoDB","MySQL"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebfe72f684a30fbdfd566") } > db.returnFieldInFindDemo.insertOne({"StudentName":"Mike","StudentAge":24,"TechnicalSubject":["Java","Python"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebffd2f684a30fbdfd567") } > db.returnFieldInFindDemo.insertOne({"StudentName":"Sam","StudentAge":22,"TechnicalSubject":["C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ec00f2f684a30fbdfd568") } > db.returnFieldInFindDemo.insertOne({"StudentName":"Carol","StudentAge":20,"TechnicalSubject":["DataStructure","Algorithm"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ec0292f684a30fbdfd569") }
借助 find() 方法顯示集合中的所有文件。查詢如下 -
> db.returnFieldInFindDemo.find().pretty();
以下是輸出 -
{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] } { "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] } { "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] } { "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }
情況 1 - 這是您將傳回特定欄位的查詢。
查詢如下 -
> db.returnFieldInFindDemo.find().pretty();
輸出:
{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] } { "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] } { "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] } { "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }
看看上面的範例輸出,我已將「TechnicalSubject」欄位初始化為 1。這意味著它將僅從所有文件中返回“TechnicalSubject”欄位。
情況2
情況2
strong> - 在第二種情況下,如果將「TechnicalSubject」欄位設為0,則表示您將取得除“TechnicalSubject”之外的所有欄位。查詢如下-
> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();
以下是輸出:
{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23 } { "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24 } { "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22 } { "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20 }
情況3 - 如您所知,如果您只使用find() 那麼它會傳回所有欄位。
查詢如下 -
> db.retunFieldInFindDemo.find();
以下是輸出:
{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] } { "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] } { "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] } { "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }
以上是collection.find() 總是傳回 MongoDB 的所有欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了各種MongoDB索引類型(單,化合物,多鍵,文本,地理空間)及其對查詢性能的影響。它還涵蓋了根據數據結構和查詢需求選擇正確索引的注意事項。

本文討論了在MongoDB中創建用戶和角色,管理權限,確保安全和自動化這些過程。它強調了最佳實踐,例如最低特權和基於角色的訪問控制。

本文討論了在MongoDB中選擇一個碎片鑰匙,並強調了其對性能和可伸縮性的影響。主要考慮因素包括高基數,查詢模式和避免單調增長。

MongoDB Compass是用於管理和查詢MongoDB數據庫的GUI工具。它提供數據探索,複雜查詢執行和數據可視化的功能。

本文討論了配置MongoDB審計安全性合規性,詳細介紹了啟用審核,設置審核過濾器並確保日誌符合監管標準的步驟。主要問題:適當的配置和分析審核日誌的安全

該文章指導了通過身份驗證和授權來實施和確保MongoDB,討論最佳實踐,基於角色的訪問控制以及對常見問題進行故障排除。

本文討論了一個碎片的MongoDB群集的組件:Mongos,Config Server和Shards。它著重於這些組件如何啟用有效的數據管理和可擴展性。

本文介紹瞭如何在MongoDB中使用MAP-REDUCE進行批處數據處理,其對大型數據集的績效益處,優化策略,並闡明了其對批處理而不是實時操作的適用性。
