Sail.js とその Waterline ORM を使用して単純なアプリケーションを作成しています。この部分については、NoSQL のピボット テーブル パターンに相当するものに従っています。各ユーザーは、subscriptions
サブスクライブしているすべてのチャネルの配列 を持っています。次を使用して、特定のチャンネル ID に登録しているすべてのユーザーを検索しようとしています。
User.find({subscriptions: {$in: [req.param('channel')]}}).done(function (err, users) {
/* ... */
});
すべての記述が最も美しいコード行ではありませんが、動作するはずです。問題は、そうではないということです。users
は空の配列で、err
null です。実際に実行されたクエリは、たとえば (Node Inspector を使用して):
{ subscriptions: { '$in': [ '52fd1a033004de2d9bcb4980' ] } }
これと同じクエリを使用して、umongo GUI を介してユーザーを「検索」すると、正しく機能します。ただし、関数の実行時にユーザーが見つかりません。
そしてアイデア?ありがとう!