Node.js MongoDB 쿼리


결과 필터링

컬렉션에서 문서를 찾을 때 쿼리 개체를 사용하여 결과를 필터링할 수 있습니다.

메서드 의 첫 번째 인수는 find()쿼리 개체이며 검색을 제한하는 데 사용됩니다.

예시

주소가 "Park Lane 38"인 문서 찾기:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var query = { address: "Park Lane 38" };
  dbo.collection("customers").find(query).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

위의 코드를 "demo_mongodb_query.js"라는 파일에 저장하고 파일을 실행합니다.

"demo_mongodb_query.js" 실행

C:\Users\Your Name>node demo_mongodb_query.js

다음과 같은 결과를 얻을 수 있습니다.

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]


정규 표현식으로 필터링

정규식을 작성하여 찾고 있는 것을 정확히 찾을 수 있습니다.

정규식은 쿼리 문자열 에만 사용할 수 있습니다 .

"주소" 필드가 문자 "S"로 시작하는 문서만 찾으려면 다음 정규식을 사용합니다 /^S/.

예시

주소가 문자 "S"로 시작하는 문서 찾기:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var query = { address: /^S/ };
  dbo.collection("customers").find(query).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

위의 코드를 "demo_mongodb_query_s.js"라는 파일에 저장하고 파일을 실행합니다.

"demo_mongodb_query_s.js" 실행

C:\Users\Your Name>node demo_mongodb_query_s.js

다음과 같은 결과를 얻을 수 있습니다.

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' },
  { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]