如何使用Breeze从MongoDB获取元数据

时间:2014-10-22 12:25:57

标签: node.js mongodb breeze

目前我有一个使用WebAPI和EF与Breeze的项目,它适用于元数据的东西,可以在服务器上进行验证,但是当迁移到NodeJS和MongoDB时,我会因尝试从MongoDB获取元数据而陷入困境。我检查了zza BMEAN应用程序,但我刚看到这个项目:

        app.get('/breeze/Breeze/Metadata', getMetadata);

 function getMetadata(req, res, next) {
    next({
        statusCode: 404,
        message: "No metadata from the server; metadata is defined on the client"
    });
}

我还阅读了有关Breeze / MongoDB的所有文档,但仍然无法帮助我获取元数据。 重点是我只想用BMEAN而不是WebAPI + EF + Breeze来改变后端,不需要在客户端上更改代码。

由于

2 个答案:

答案 0 :(得分:0)

元数据由EF提供​​,而不是由MongoDB提供。如果您使用CodeFirst方法与EF,那么您应该已经有一个DBContext。

这讨论了如何使用DBContext -

http://www.breezejs.com/documentation/entity-framework-dbcontext

这里讨论了如何使用EF作为设计工具来从类构建元数据 -

http://www.breezejs.com/documentation/ef-design-tool

你可能已经拥有了生成元数据所需要的东西,它只是扩展了它并公开了一个服务来提供给客户端。

答案 1 :(得分:0)

PW Kad的回答是正确的,但为了澄清,没有办法从MongoDB数据库获取元数据,因为数据库本身具有不确定的结构。所以你必须告诉你的客户结构是什么。如果您想为EF和Mongo使用相同的客户端代码,那么在Mongo项目中保存EFContext提供的元数据非常有意义。在其他情况下,只需通过Breeze的元数据api调用直接在客户端上定义元数据。