[NoSQL/MongoDB] MongoDB 검색 및 조회 방법, find(), findOne() 사용법
기존 RDB에서 쿼리를 이용하여 조회를 할때 SELECT 절을 이용하여 원하는 데이터를 조회습니다.
하지만 MongoDB는 다른 방법을 이용하여 조회를 합니다.
가장먼저 사용하고자하는 DB를 선택합니다.
1. use $batabasename // $batabasename는 표현일뿐, db이름이 user라면 use user 를 사용하시면 됩니다.
해당 데이터베이스에 어떤 컬렉션이 존재하는지 모른다면 컬렉션 검색을 먼저해줍니다.
2. show collections
컬렉션 조회가 되었고, user라는 데이터베이스 안에 userinfo, useraccount, usertemp라는 3개의 컬렉션이 있다는 가정하에 조회가 필요한 컬렉션을 선택하여 find()를 사용합니다.
참고로 컬렉션은 RDB에서는 테이블이라고 생각하시면 됩니다.
3. db.useraccount.find({name: "홍길동"}) //useraccount 컬렉션에서 이름이 "홍길동"을 찾는다.
무작위로 하나의 값을 가져오기위해서는 findOne을 사용합니다.
3-1 db.useraccount.findOne({name: "홍길동"}) //useraccount 컬렉션에서 이름이 "홍길동"을 찾는다.
3과 3-1은 같아보이지만 다릅니다. 3의 경우 해당 조건에 맞는 정보를 모두 찾지만, 3-1은 조건에 맞는 무작위의 값을 가져옵니다.
저는 findOne()경우는 컬렉션안에 필드가 어떤 값이 있는지 확인할때 사용합니다.
1. use db // 사용할 데이터베이스를 선택하고
2. show collections //어떤 컬렉션이 있는지 검색한다음
3. db.collecton.findOne({}) // 컬렉션안에 어떤 필드가 있는지 확인하여
4. db.collection.find({name:"홍길동", gameid:"hong123"}) //필드에 따른 조건으로 값을 찾는다.