我正在使用 Sail.js 及其 Waterline ORM 创建一个简单的应用程序。作为其中的一部分,我遵循 NoSQL 等效的数据透视表模式:每个用户都有一个数组,subscriptions
包含他们订阅的所有频道。我正在尝试使用以下命令查找订阅特定频道 ID 的所有用户:
User.find({subscriptions: {$in: [req.param('channel')]}}).done(function (err, users) {
/* ... */
});
不是每个编写的最漂亮的代码行,但它应该可以工作。问题是,它没有。users
是一个空数组,并且err
为空。他们查询实际执行的是,例如(使用节点检查器):
{ subscriptions: { '$in': [ '52fd1a033004de2d9bcb4980' ] } }
当通过 umongo GUI 使用相同的查询“查找”用户时,它可以正常工作。但是,执行该函数时,没有找到任何用户。
和想法?谢谢!