Dokumen pertanyaan MongoDB
Syntax
Format sintaks data pertanyaan MongoDB adalah seperti berikut:
>db.COLLECTION_NAME.find()
Kaedah find() memaparkan semua dokumen dalam cara yang tidak berstruktur.
Jika anda perlu membaca data dengan cara yang mudah dibaca, anda boleh menggunakan kaedah pretty(), sintaksnya adalah seperti berikut:
>db.col.find().pretty()
Kaedah pretty() memaparkan semua dokumen dalam cara berformat .
Instance
Dalam contoh berikut kami menanyakan data dalam koleksi col:
> db.col.find().pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
Selain kaedah find(), terdapat juga kaedah findOne() , yang hanya mengembalikan dokumen.
Perbandingan penyataan MongoDB dan RDBMS Where
Jika anda biasa dengan data SQL biasa, anda boleh memahami dengan lebih baik pertanyaan pernyataan bersyarat MongoDB melalui jadual berikut:
操作 | 格式 | 范例 | RDBMS中的类似语句 |
---|---|---|---|
等于 | {<key>:<value> } | db.col.find({"by":"php中文网"}).pretty() | where by = 'php中文网' |
小于 | {<key>:{$lt:<value>}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
小于或等于 | {<key>:{$lte:<value>}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
大于 | {<key>:{$gt:<value>}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
大于或等于 | {<key>:{$gte:<value>}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
不等于 | {<key>:{$ne:<value>}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
MongoDB DAN syarat
Kaedah find() MongoDB boleh lulus dalam berbilang kunci (kunci), setiap kunci (kunci) dipisahkan dengan koma dan keadaan DAN SQL biasa.
Format sintaks adalah seperti berikut:
>db.col.find({key1:value1, key2:value2}).pretty()
Contoh
Contoh berikut menggunakan kekunci oleh dan tajuk untuk membuat pertanyaan Data Cina php daripada Tutorial MongoDB dalam net
> db.col.find({"by":"php中文网", "title":"MongoDB 教程"}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
Contoh di atas adalah serupa dengan pernyataan WHERE: WHERE by='php中文网' DAN title='Tutorial MongoDB'
MongoDB OR condition
MongoDB OR conditional statement menggunakan kata kunci $or, dan format sintaks adalah seperti berikut :
>db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
Contoh
Dalam contoh berikut, kami menunjukkan kunci pertanyaan oleh dan nilainya ialah php tapak web Cina atau kunci tajuk dan nilainya ialah dokumen Tutorial MongoDB.
>db.col.find({$or:[{"by":"php中文网"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
Penggunaan gabungan DAN dan ATAU
Contoh berikut menunjukkan penggunaan bersama DAN dan ATAU, serupa dengan pernyataan SQL konvensional: 'di mana suka>50 DAN (oleh = ' php laman web Cina' ATAU tajuk = 'Tutorial MongoDB')'
>db.col.find({"likes": {$gt:50}, $or: [{"by": "php中文网"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }