2016-10-18 6 views
1

javascript/Meteor에서 정렬 키에 따라 Mongo Collection의 마지막 문서를 반환하도록 사용자 정의 가능한 함수를 작성하려고합니다.JS - MongoDB 쿼리에 문자열 전달하기

내 정렬 필드 (생성-에서)이 작품은 하드 코드 :

last_document = function(collection) 
       { 
       var query   = {sort: { "createdAt": -1}}    ; 
       var last_document = collection.find({}, query).fetch()[0]  ;       
       return last_document; 
       }; 

을하지만 매개 변수를 전달하면, 그렇지 않습니다 : 내가 사용하고

dernier_document = function(collection, sort_by="createdAt") 
       { 
        var query    = {sort: { sort_by: -1}}      ; 
        var dernier_document = collection.find({}, query).fetch()[0]  ;       
        return dernier_document; 
       }; 

을 유성 1.4. 아이디어가 있으십니까?

답변

1

문제는 실제로 mongodb에 문자열을 전달하는 것이 아니라 변수를 Object 키로 변환하는 것입니다.

이 방법으로 문제를 해결할 수 :

var query = {sort: {}}; 
query.sort[sort_by] = -1; 

또는

var query = { sort: { [sort_by]:-1}}; 

enter image description here

+0

근무를! –

+0

@Steeve 좋은 대답이지만, 실제로 JSON 키가 아니기 때문에 JSON은 외부 JS 형식이므로 대답을 수락합니다. –

+0

@KarolKlepacki 내가해야 할 말 : Object key? –

관련 문제