Mongo描述了一个嵌入式查询,如this:
db.inventory.find(
{
producer:
{
company: 'ABC123',
address: '123 Street'
}
}
)
因此,我希望嵌入式文档的sails蓝图查询看起来像这样:
http://myserver.com/blueprint/inventory?where={"producer":{"company":"ABC123","address":"123 Street"}}
但是返回一个空数组。如何使用蓝图查询嵌入文档?
答案 0 :(得分:1)
蓝图无法做到这一点。事实上,没有办法用通用的Waterline方法来做到这一点。这揭示了两个重点:
蓝图不是一种替代所有业务逻辑的解决方案。它们旨在公开一个简单的API。如果您需要更多内容,写一个custom controller action既有趣又轻松。如果您将其放入 InventoryController.js 并将其命名为find
,那么 / inventory 端点会自动调用它。
水线是一种ORM(与所有ORM一样),用于在不同数据库之间提供统一的界面,这意味着它必须在支持特定数据库功能(如嵌入式文档)方面进行权衡。如果您需要在MongoDB中查询嵌入式文档,可以使用模型的.native()方法来执行此操作。