【问题标题】:how to query for embedded documents using sails blueprints如何使用 Sails 蓝图查询嵌入式文档
【发布时间】:2014-09-09 05:45:54
【问题描述】:

Mongo 描述了一个嵌入式查询,例如 this

db.inventory.find(
    {
        producer:
        {
            company: 'ABC123',
            address: '123 Street'
        }
    }
)

因此,我希望嵌入式文档的sails 蓝图查询看起来像这样:

http://myserver.com/blueprint/inventory?where={"producer":{"company":"ABC123","address":"123 Street"}}

但这会返回一个空数组。如何使用蓝图查询嵌入式文档?

【问题讨论】:

    标签: json mongodb sails.js embedded-documents


    【解决方案1】:

    蓝图无法做到这一点。事实上,没有办法用通用的 Waterline 方法来做到这一点。这暴露了两个重要的点:

    1. 蓝图并非旨在替代所有业务逻辑的解决方案。它们旨在公开一个简单的 API。如果您需要更多内容,写custom controller action 既有趣又简单。如果您将它放在 InventoryController.js 中并将其命名为 find,那么您的 /inventory 端点将自动调用它。

    2. Waterline 是一种 ORM(与所有 ORM 一样)旨在提供跨不同数据库的统一接口,这意味着它必须在支持特定数据库功能(如嵌入式文档)方面做出权衡。如果您需要查询 MongoDB 中的嵌入文档,可以使用模型的 .native() 方法来完成。

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 2021-03-24
      • 2012-02-23
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 2021-04-14
      相关资源
      最近更新 更多