MongoDB 쿼리 문서
구문
MongoDB 쿼리 데이터의 구문 형식은 다음과 같습니다.
>db.COLLECTION_NAME.find()
find() 메소드는 모든 문서를 구조화되지 않은 방식으로 표시합니다.
데이터를 읽기 쉬운 방식으로 읽어야 하는 경우에는 Pretty() 메소드를 사용할 수 있으며 구문은 다음과 같습니다.
>db.col.find().pretty()
pretty() 메소드는 다음을 표시합니다. 모든 문서를 형식화된 방식으로 .
Instance
다음 예에서는 컬렉션 열의 데이터를 쿼리합니다.
> 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 }
find() 메서드 외에도 findOne() 메서드도 있습니다. , 문서만 반환합니다.
MongoDB와 RDBMS Where 문 비교
일반 SQL 데이터에 익숙하다면 다음 표를 통해 MongoDB의 조건문 쿼리를 더 잘 이해할 수 있습니다.
操作 | 格式 | 范例 | 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 AND 조건
MongoDB의 find() 메소드는 여러 키(키), 쉼표로 구분된 각 키(키) 및 일반 SQL의 AND 조건을 전달할 수 있습니다.
구문 형식은 다음과 같습니다.
>db.col.find({key1:value1, key2:value2}).pretty()
예
다음 예에서는 by 및 title 키를 사용하여 쿼리합니다. 인터넷에 있는 MongoDB Tutorial의 PHP 중국어 데이터
> 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 }
위의 예는 WHERE 문과 유사합니다. WHERE by='php中文网' AND title='MongoDB Tutorial'
MongoDB OR 조건
MongoDB OR 조건문은 $or 키워드를 사용하며 구문 형식은 다음과 같습니다. :
>db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
예
다음 예에서는 쿼리 키 by를 보여 주며 값은 php Chinese website 또는 키 title이고 값은 MongoDB Tutorial 문서입니다.
>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 } >
AND와 OR의 결합
다음 예에서는 기존 SQL 문과 유사하게 AND와 OR의 결합 사용을 보여줍니다. 'where likes>50 AND (by = 'php 중국어 웹사이트' OR 제목 = 'MongoDB Tutorial')'
>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 }