우선, 작은 데이터 세트입니다. API를 통해 전체 프로덕션 DB를 단일 화면에 덤프하는 것이 현명하지 않을 것입니다. node.js 애플리케이션에서 API 엔드 포인트를 통해 리턴하기 위해 전체 (작은) DB의 JSON 덤프를 얻는 것만으로도 충분하다.Node.js API에 전체 MongoDB 내용 표시
성공적으로이 코드를 하나의 레코드를 반환 않습니다 내 응용 프로그램: 당신이 실행할 때
MongoClient.connect("mongodb://localhost:27017/search", function (err, db) {
if(err) throw err;
db.collection('results', function(err, collection) {
// search for match that "begins with" searchterm
collection.findOne({'string':new RegExp('^' + searchterm, 'i')}, function(err, items){
// get result
var result;
if (items == null || items.result == null){
result = "";
}
else {
result = items.result;
}
// return result
res.send(result);
});
});
});
그래서 내가 노드가 성공적으로 몽고에 얘기를 알고,하지만 난이 쿼리를 조정할 수있는 방법/코드가 기본적으로 반환은 당신은 무엇을 얻을 MongoDB 커맨드 라인에서 다음을 참조하십시오 :
$ db.results.find()
왜 toArray를 붙일 필요가 있었는지 궁금합니다. 사용중인 MongoDB/Mongoose 버전을 공유하는 마음? –
나는 정직하게 말할 것이다, 나는 몽구스가 무엇인지 전혀 모른다. Mac OS X Sierra에서 MongoDB의 v3.2.0을 실행 중입니다. 나는 무작위로 많은 시행 착오를 거친 후에 이것이 가장 먼저 작동했기 때문에 toArray (...)를 사용했다. 당신이 올바른 대안을 제안하면 나는 그것을 줄 것이다. – HomerPlata
Mongoose는 JavaScript/Node.js 용 MongoDB를 감싸는 래퍼 (wrapper)로, 약간 더 관리하기 쉽고 읽을 수있는 코드로 추상화합니다. 나는 이것이 내 제안 된 해결책이 효과가없는 이유라고 생각한다. 몽구스는 아마도 당신이 한 일을'toArray()'라고 할 것입니다. –