문제

내 프로젝트에서 Sails-mongo를 사용하고 있으며 포함된 컬렉션에서 하나의 쿼리를 실행해야 합니다.내 데이터는 다음과 같습니다.

{
    "_id" : ObjectId("53906c6254f36df504e99b8f"),
    "title"    : "my post"
    "comments" : [ 
        {
            "author" : "foo",
            "comment" : "foo comment"
        },
        {
            "author" : "bar",
            "comment" : "bar comment"
        }        
    ],
    "createdAt" : ISODate("2014-06-05T13:10:58.365Z"),
    "updatedAt" : ISODate("2014-06-05T13:10:58.365Z")
}

예를 들어, 다음을 추출해야 합니다. comments 저자의 foo.
분명히 Sails는 아직 이 기능을 지원하지 않기 때문에 개체 사용을 고려하고 있었습니다. db ~의 mongodb 네이티브 이런 종류의 쿼리를 작성합니다.
Sails-mongo는 mongodb-native를 사용하므로 내 Sails 프로젝트에서 db 객체에 액세스할 수 있습니까?아니면 mongodb-native를 사용하여 새로운 연결을 구축해야 합니까?
누구든지 더 나은 아이디어가 있으면 감사하겠습니다.감사해요

도움이 되었습니까?

해결책

당신이해야 할 모든 것이 있다면 입장 포함된 주석이 있으면 Waterline이 제대로 작동할 것입니다.그냥 평범하게 해라 find 또는 findOne, 반환된 개체에 대한 설명에 액세스할 수 있어야 합니다.

필요한 경우 질문 댓글, 예를 들어특정 작성자의 댓글이 포함된 게시물을 찾으려면 기본 mongodb-native 을 사용하여 수집 .native() Sails 모델 클래스의 메소드:

Post.native(function(err, collection) {
    if (err) { 
        // handle error getting mongo collection
    }
    collection.find({'comments.author':'foo'}).toArray(function(err, results) {
        // Do something with results
    });
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top