我使用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实现这一目标?
答案 0 :(得分:3)
目前,Waterline不支持查询嵌入式记录,主要是因为跨多个数据库不容易做到这一点。
但是,您可以使用Label.native(function(err, rawMongoCollection){/*...*/});
获取原始Mongo集合,并且可以使用它来执行类似的查询:.native() docs。