如何在MongoDB中檢索集合中的文件?


要從MongoDB中的集合中檢索文件,您需要使用find()方法。語法如下:

db.yourCollectionName.find();

以上語法將返回MongoDB中集合中的所有文件。為了理解以上語法,讓我們建立一個包含文件的集合。建立文件的查詢如下:

> db.retrieveAllStudents.insertOne({"StudentId":"STUD101","StudentName":"David","StudentAge":24});
{
   "acknowledged" : true, "insertedId" : ObjectId("5c6bf5cf68174aae23f5ef4e")
}
> db.retrieveAllStudents.insertOne({"StudentId":"STUD102","StudentName":"Carol","StudentAge":22});
{
   "acknowledged" : true, "insertedId" : ObjectId("5c6bf5e968174aae23f5ef4f")
}
> db.retrieveAllStudents.insertOne({"StudentId":"STUD103","StudentName":"Maxwell","StudentAge":25});
{
   "acknowledged" : true, "insertedId" : ObjectId("5c6bf5f768174aae23f5ef50")
}
> db.retrieveAllStudents.insertOne({"StudentId":"STUD104","StudentName":"Bob","StudentAge":23});
{
   "acknowledged" : true, "insertedId" : ObjectId("5c6bf60868174aae23f5ef51")
}
> db.retrieveAllStudents.insertOne({"StudentId":"STUD105","StudentName":"Sam","StudentAge":27});
{
   "acknowledged" : true, "insertedId" : ObjectId("5c6bf61b68174aae23f5ef52")
}

現在您可以使用以上語法,藉助find()方法檢索集合中的所有文件。查詢如下:

> db.retrieveAllStudents.find();

以下是輸出結果:

{ "_id" : ObjectId("5c6bf5cf68174aae23f5ef4e"), "StudentId" : "STUD-101", "StudentName" :
   "David", "StudentAge" : 24 }
{ "_id" : ObjectId("5c6bf5e968174aae23f5ef4f"), "StudentId" : "STUD-102", "StudentName" :
   "Carol", "StudentAge" : 22 }
{ "_id" : ObjectId("5c6bf5f768174aae23f5ef50"), "StudentId" : "STUD-103", "StudentName" :
   "Maxwell", "StudentAge" : 25 }
{ "_id" : ObjectId("5c6bf60868174aae23f5ef51"), "StudentId" : "STUD-104", "StudentName" :
   "Bob", "StudentAge" : 23 }
{ "_id" : ObjectId("5c6bf61b68174aae23f5ef52"), "StudentId" : "STUD-105", "StudentName" :
   "Sam", "StudentAge" : 27 }

為了獲得格式良好的輸出,請將pretty()與find()一起使用。查詢如下:

> db.retriveAllStudents.find().pretty();

以下是輸出結果:

{
   "_id" : ObjectId("5c6bf5cf68174aae23f5ef4e"),
   "StudentId" : "STUD-101",
   "StudentName" : "David",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c6bf5e968174aae23f5ef4f"),
   "StudentId" : "STUD-102",
   "StudentName" : "Carol",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5c6bf5f768174aae23f5ef50"),
   "StudentId" : "STUD-103",
   "StudentName" : "Maxwell",
   "StudentAge" : 25
}
{
   "_id" : ObjectId("5c6bf60868174aae23f5ef51"),
   "StudentId" : "STUD-104",
   "StudentName" : "Bob",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c6bf61b68174aae23f5ef52"),
   "StudentId" : "STUD-105",
   "StudentName" : "Sam",
   "StudentAge" : 27
}

如果您想根據某些條件檢索單個文件,則可以使用以下查詢。這裡,我們正在檢索StudentName為“Maxwell”的文件。

> db.retriveAllStudents.find({"StudentName":"Maxwell"}).pretty();

以下是輸出結果:

{
   "_id" : ObjectId("5c6bf5f768174aae23f5ef50"),
   "StudentId" : "STUD-103",
   "StudentName" : "Maxwell",
   "StudentAge" : 25
}

更新於: 2019年7月30日

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告