2014-07-11 2 views
0

나는 node.js 서버 (express & 옥과 함께)와 mongodb 데이터베이스를 실행 중입니다. findOne을 사용하여 mongodb를 쿼리하는 함수가 있습니다. 이 문서는 사용자가 선호하는 배열 요소와 함께 사용자에 관한 것입니다. 따라서 스키마는 다음과 같습니다.mongodb findone 반환 값 - 배열 조작

저는 jade에 data.preferences 객체를 전달하고 배열 내용 목록을 인쇄합니다.

질문 : findOne 함수 내에서 어떻게 배열 요소의 순서를 재 배열 할 수 있도록 data.preferences 객체를 조작하고 새로운 객체를 옥으로 다시 전달할 수 있습니까? BTW :이 데이터는 어떤 개체 유형입니까?

FYI - 데이터베이스의 순서를 변경하고 싶지 않습니다.

답변

1

몽구스 쿼리 결과를 조작하려면 일반적으로 자유롭게 수정할 수있는 일반 JavaScript 개체를 직접 얻을 수 있도록 쿼리에 lean()을 호출하는 것이 가장 좋습니다. 그렇지 않으면 다루기가 쉽지 않은 몽구스 모델 인스턴스입니다.

UserTabs.findOne({ 'username' : userID }).lean().exec(function(err, data) { 
    // data is a JavaScript object, modify it as needed. Use the standard 
    // JavaScript array manipulation functions to modify data.preferences. 
    ... 
} 
+0

내 하루를 저장했습니다 .... 감사합니다. – user3658423