mongodb를 사용하여 Sails 프로젝트에 포함된 컬렉션 쿼리
-
27-12-2019 - |
문제
내 프로젝트에서 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
});
});
제휴하지 않습니다 StackOverflow