在集合/对象中查找 - SailsJS和Waterline ORM

时间:2015-06-10 08:39:16

标签: node.js mongodb sails.js waterline sails-mongo

我使用SailsJS,所以使用Waterline ORM和MongoDB。

我将多个用户ID保存在名为Labels的集合中的对象中(这样,标签可以属于多个用户)。

我在Mongo中有一个像这样的数据结构:

labels: {
    id: ...
    belongs_to: {
        **id of user**: 2 (I'm using this is for individual user ordering)
    }
}

如果我当前是id 101 的用户 - 我想查找()所有标签条目,其中101位于labels.belongs_to。

我已经搜索了文档但无法找到如何执行此操作。

我尝试过(没有运气)类似的事情:

Label.find().where({ belongs_to: {'contains' : user_id})

这是解决这个问题的最佳方法,如果是这样,我怎样才能通过Sails实现这一目标?

1 个答案:

答案 0 :(得分:3)

目前,Waterline不支持查询嵌入式记录,主要是因为跨多个数据库不容易做到这一点。

但是,您可以使用Label.native(function(err, rawMongoCollection){/*...*/});获取原始Mongo集合,并且可以使用它来执行类似的查询:.native() docs