我有以下场景:我正在使用发布查找工具,以便用户可以通过搜索字段和过滤器查找文档。现在我们正在使用一个小预算,因此所有数据都存储在一个json文件中(约60条记录)。如果项目成功,我们将拥有一个带有数据库和几千条记录的服务器。
我想使用breeze开发所有查找解决方案,所以稍后我不需要做很多修改。问题是我无法找到有关直接查询json文件的信息(没有服务器)。
你认为这是可能的吗?
答案 0 :(得分:2)
实际上,这是可能的。但我想不出像设置简单服务器那样简单的方法。这就像用Visual Studio跟踪日志一样。也许你来自不同的环境?我想知道。即使在那里,使用某种可以返回JSON的http API来提升某些内容通常也很容易。
如果你只有60条记录,我猜这是你试图匆忙站起来的原型。你是如此匆忙,甚至不想使用服务器......这有点奇怪,因为你需要一些东西来提供HTML,CSS和JavaScript文件,对吗?
你可以很容易地用node.js / express来做;几乎与设置读取和返回JSON文件的快速路由一样简单。但是,这仍然涉及服务器在某个地方运行(客户端自己的机器?),你必须学习一些基本的node.js
您可以完全使用HTML和JS脚本文件,而不是文件系统以外的服务器。
在我的脑海中,我认为我从writing a custom Breeze ajax adapter开始实际上是一个模拟:无论你怎么回事,它都会完整地返回JSON数据。
在应用程序启动时调用此属性一次,将实体加载到EntityManager缓存中。然后使所有后续查询成为本地查询。您可以设置EntityManager默认查询策略,默认情况下将所有查询转换为本地查询。
无论您做什么,都必须define metadata来描述JSON数据中的实体类型。我猜你只有一种类型,所以应该简单快捷。
你还需要做些什么来告诉Breeze你正在查询什么样的实体。在查询结尾添加.toType('Foo');
可能就足够了。如果您需要更低层次的东西,您可以随时深入研究JsonResultsAdapter
。
这一切都很难。但也不是Breeze 101。您没有遵循我们所认为的典型应用程序开发路径。也许我们错过了什么。我很想知道人们是否能够了解你的情况。