Rumah > pangkalan data > MongoDB > Collection.find() sentiasa mengembalikan semua medan dalam MongoDB?

Collection.find() sentiasa mengembalikan semua medan dalam MongoDB?

WBOY
Lepaskan: 2023-09-08 09:13:03
ke hadapan
1151 orang telah melayarinya

collection.find() 总是返回 MongoDB 的所有字段?

Anda boleh menggunakan sintaks berikut untuk mengembalikan medan tertentu daripada collection.find().

Kes 1 - Sintaks adalah seperti berikut -

db.yourCollectionName.find({},{"yourFieldName":1}).pretty();
Salin selepas log masuk

Nama medan di atas ditetapkan kepada 1 bermakna ia hanya akan mengembalikan medan tersebut. Jika ditetapkan kepada 0, ia mengembalikan semua medan kecuali medan ditetapkan kepada 0.

Kes 2 - Sintaks adalah seperti berikut -

db.yourCollectionName.find({},{"yourFieldName":0}).pretty();
Salin selepas log masuk

Untuk memahami sintaks di atas, mari kita buat koleksi menggunakan dokumen. Pertanyaan untuk mencipta koleksi menggunakan dokumen adalah seperti berikut -

> 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")
}
Salin selepas log masuk

Paparkan semua dokumen dalam koleksi dengan bantuan kaedah find(). Pertanyaannya adalah seperti berikut -

> db.returnFieldInFindDemo.find().pretty();
Salin selepas log masuk
Salin selepas log masuk

Di bawah ialah output -

{
   "_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"
   ]
}
Salin selepas log masuk
Salin selepas log masuk

Kes 1 - Ini ialah pertanyaan di mana anda akan mengembalikan medan tertentu.

Pertanyaan adalah seperti berikut -

> db.returnFieldInFindDemo.find().pretty();
Salin selepas log masuk
Salin selepas log masuk

Output:

{
   "_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"
   ]
}
Salin selepas log masuk
Salin selepas log masuk

Melihat pada contoh output di atas, saya telah memulakan medan "TechnicalSubject" kepada 1. Ini bermakna ia hanya akan mengembalikan medan "TechnicalSubject" daripada semua dokumen.

Kes 2

Kes 2

kuat> - Dalam kes kedua, jika anda menetapkan medan "TechnicalSubject" kepada 0, ini bermakna anda akan mendapat semua medan kecuali "TechnicalSubject".

Pertanyaan adalah seperti berikut -

> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();
Salin selepas log masuk

Berikut ialah output:

{
   "_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
}
Salin selepas log masuk

Kes 3 - Seperti yang anda tahu jika anda hanya menggunakan find() maka ia akan mengembalikan semua medan.

Pertanyaan adalah seperti berikut -

> db.retunFieldInFindDemo.find();
Salin selepas log masuk

Berikut ialah output:

{ "_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" ] }
Salin selepas log masuk

Atas ialah kandungan terperinci Collection.find() sentiasa mengembalikan semua medan dalam MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan