저는 Sail.js와 Waterline ORM을 사용하여 간단한 애플리케이션을 만들고 있습니다. 이 부분에 대해서는 NoSQL의 피벗 테이블 패턴과 같습니다. 각 사용자의 구독 채널은 모두 subscriptions
입니다.
User.find({subscriptions: {$in: [req.param('channel')]}}).done(function (err, users) {
/* ... */
});
코드의 가장 아름다운 라인이 모든 기록되지하지만
해야 일 : 나는 다음과 같은 사용하여 특정 채널 ID에 가입 한 모든 사용자를 찾을 시도하고있다. 문제는 그렇지 않다는 것입니다.
users
은 빈 배열이고
err
은 null입니다. 그들은 (노드 관리자를 사용하여), 예를 들면, 실행 실제 조회 :
이 같은 쿼리가 umongo의 GUI를 통해 사용자를 "발견"하는 데 사용됩니다
{ subscriptions: { '$in': [ '52fd1a033004de2d9bcb4980' ] } }
, 그것은 제대로 작동합니다. 그러나 함수가 실행될 때 사용자를 찾을 수 없습니다.
아이디어가 있습니까? 감사!
아, 감사합니다! 그래도 Mongo에 조금 익숙한 사람이라면 누구나 알면 초기 코드가 작동하지 않는 이유가 궁금 할 것입니다. –
$에서 제공하는 배열에 레코드가 있어야합니다. 레코드 배열에 값을 제공 할 필요가 없습니다. – Guilro
예를 들어, 이름이 john, peter 또는 paul 인 모든 사용자에게 db.users.find ({firstName : {$ in : [ 'john', 'peter', 'paul']}})를 원하게됩니다. 그것은 당신이 그것을 어떻게 사용하고 있었는지에 대해 다른 방향입니다. – joao