Collection.find() sentiasa mengembalikan semua medan dalam 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();
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();
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") }
Paparkan semua dokumen dalam koleksi dengan bantuan kaedah find(). Pertanyaannya adalah seperti berikut -
> db.returnFieldInFindDemo.find().pretty();
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" ] }
Kes 1 - Ini ialah pertanyaan di mana anda akan mengembalikan medan tertentu.
Pertanyaan adalah seperti berikut -
> db.returnFieldInFindDemo.find().pretty();
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" ] }
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();
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 }
Kes 3 - Seperti yang anda tahu jika anda hanya menggunakan find() maka ia akan mengembalikan semua medan.
Pertanyaan adalah seperti berikut -
> db.retunFieldInFindDemo.find();
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" ] }
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Untuk menyediakan pengguna MongoDB, ikuti langkah -langkah ini: 1. Sambungkan ke pelayan dan buat pengguna pentadbir. 2. Buat pangkalan data untuk memberikan akses pengguna. 3. Gunakan arahan CreateUser untuk membuat pengguna dan menentukan hak dan hak akses pangkalan data mereka. 4. Gunakan perintah getusers untuk memeriksa pengguna yang dibuat. 5. Secara pilihan menetapkan keizinan lain atau memberi kebenaran kepada pengguna ke koleksi tertentu.

Alat utama untuk menyambung ke MongoDB adalah: 1. MongoDB shell, sesuai untuk melihat data dengan cepat dan melakukan operasi mudah; 2. Pemandu bahasa pengaturcaraan (seperti Pymongo, MongoDB Java Driver, MongoDB Node.js Driver), sesuai untuk pembangunan aplikasi, tetapi anda perlu menguasai kaedah penggunaan; 3. Alat GUI (seperti Robo 3T, Kompas) menyediakan antara muka grafik untuk pemula dan tontonan data cepat. Apabila memilih alat, anda perlu mempertimbangkan senario aplikasi dan susunan teknologi, dan memberi perhatian kepada konfigurasi rentetan sambungan, pengurusan kebenaran dan pengoptimuman prestasi, seperti menggunakan kolam dan indeks sambungan.

Untuk memulakan pelayan MongoDB: Pada sistem UNIX, jalankan perintah Mongod. Pada tingkap, jalankan perintah mongod.exe. Pilihan: Tetapkan konfigurasi menggunakan pilihan - - - - - -Auth, atau --replset pilihan. Gunakan arahan Mongo untuk mengesahkan bahawa sambungan berjaya.

Pemprosesan transaksi di MongoDB menyediakan penyelesaian seperti transaksi multi-dokumen, pengasingan snapshot, dan pengurus urus niaga luaran untuk melaksanakan tingkah laku urus niaga, memastikan pelbagai operasi dilaksanakan sebagai satu unit atom, memastikan atom dan pengasingan. Sesuai untuk aplikasi yang perlu memastikan integriti data, mencegah rasuah data operasi serentak, atau melaksanakan kemas kini atom dalam sistem yang diedarkan. Walau bagaimanapun, keupayaan pemprosesan urus niaga adalah terhad dan hanya sesuai untuk satu contoh pangkalan data. Urus niaga multi-dokumen hanya menyokong operasi membaca dan menulis. Pengasingan snapshot tidak memberikan jaminan atom. Mengintegrasikan pengurus urus niaga luaran juga memerlukan kerja pembangunan tambahan.

MongoDB sesuai untuk data yang tidak berstruktur dan keperluan skalabilitas yang tinggi, sementara Oracle sesuai untuk senario yang memerlukan konsistensi data yang ketat. 1.MongoDB Flexibly menyimpan data dalam struktur yang berbeza, sesuai untuk media sosial dan Internet Perkara. 2. Model data berstruktur Oracle memastikan integriti data dan sesuai untuk urus niaga kewangan. 3.MongoDB skala secara mendatar melalui shards, dan skala Oracle secara menegak melalui RAC. 4.MongoDB mempunyai kos penyelenggaraan yang rendah, sementara Oracle mempunyai kos penyelenggaraan yang tinggi tetapi disokong sepenuhnya.

Memilih MongoDB atau pangkalan data relasi bergantung kepada keperluan aplikasi. 1. Pangkalan data relasi (seperti MySQL) sesuai untuk aplikasi yang memerlukan integriti data yang tinggi dan konsistensi dan struktur data tetap, seperti sistem perbankan; 2. Pangkalan data NoSQL seperti MongoDB sesuai untuk memproses data besar-besaran, tidak berstruktur atau separa berstruktur dan mempunyai keperluan yang rendah untuk konsistensi data, seperti platform media sosial. Pilihan akhir perlu menimbang kebaikan dan keburukan dan membuat keputusan berdasarkan keadaan sebenar. Tidak ada pangkalan data yang sempurna, hanya pangkalan data yang paling sesuai.

Pilih MongoDB atau Redis mengikut keperluan permohonan: MongoDB sesuai untuk menyimpan data kompleks, dan Redis sesuai untuk akses cepat ke pasangan nilai dan cache. MongoDB menggunakan model data dokumen, menyediakan penyimpanan berterusan, dan skalabiliti mendatar; Walaupun Redis menggunakan nilai utama untuk melaksanakan dengan baik dan kos efektif. Pilihan akhir bergantung kepada keperluan khusus aplikasi, seperti jenis data, keperluan prestasi, skalabilitas, dan kebolehpercayaan.

MongoDB lebih sesuai untuk memproses data yang tidak berstruktur dan lelaran yang cepat, sementara Oracle lebih sesuai untuk senario yang memerlukan konsistensi data yang ketat dan pertanyaan kompleks. Model dokumen 1.MongoDB adalah fleksibel dan sesuai untuk mengendalikan struktur data kompleks. 2. Model hubungan Oracle adalah ketat untuk memastikan konsistensi data dan prestasi pertanyaan yang kompleks.
