• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mongodb] Node.js - MongoDB Query (검색 쿼리)

2,047  
목차
  1. 결과 필터링 - 컬럼값 이용
  2. 결과 필터링 - 정규식 이용

 

결과 필터링 - 컬럼값 이용

 

컬렉션에서 문서를 찾을 때 query 객체 사용해 결과를 필터링 가능.

find()메서드의 첫 번째 인수는 query 객체이며 검색 필터링에 사용.

 


1. C:\User\사용자명\hz.js 생성.

 

var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/";

const options = {useUnifiedTopology: true};

 

MongoClient.connect(url, options, function(err, db) {

  if (err) throw err;

  var dbo = db.db("hz");

  var query = { mb_level: "10" };

  dbo.collection("hz_member").find(query).toArray(function(err, result) {

    if (err) throw err;

    console.log(result);

    db.close();

  });

});

 


2. CMD 모드 창에서, 아래 명령어 실행.

 

C:\User\사용자명>node hz.js

 


[결과값] 

 

  {

    _id: 5f69b3995edfd806d4abfd60,

    mb_name: 'homzzang',

    mb_level: '10'

  }

]

 

 

결과 필터링 - 정규식 이용

 

정규식을 작성하여 검색중인 내용을 정확히 찾을 수 있음.


정규식은 문자열 쿼리에만 사용 가능.

(예제) 

"mb_name"필드가 소문자 "h"로 시작하는 문서만 찾기 :  /^h/

※ 대소문자 안 가리고 찾으려면, /^h/i 

 

[예제]


1. C:\User\사용자명\hz.js 생성.

 

var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/";

const options = {useUnifiedTopology: true};

 

MongoClient.connect(url, options, function(err, db) { 

  if (err) throw err;

  var dbo = db.db("hz");

  var query = { mb_name: /^h/ };

  dbo.collection("hz_member").find(query).toArray(function(err, result) {

    if (err) throw err;

    console.log(result);

    db.close();

  });

});

 


2. CMD 모드 창에서, 아래 명령어 실행.

 

C:\User\사용자명>node hz.js

 


[결과값] 

 

  {

    _id: 5f69b3995edfd806d4abfd60,

    mb_name: 'homzzang',

    mb_level: '10'

  }

]

 



분류 제목
module Node.js - v8 모듈 - V8 (JS엔진)에 대한 정보에 접근.
module Node.js - vm 모듈 - 가상 머신에서 JS코드를 컴파일.
module Node.js - zlib 모듈 - 파일 압축 + 압축 해제
4/4
목록
찾아주셔서 감사합니다. Since 2012