几年来,我一直在使用以下web开发堆栈:

java/spring/hibernate/mysql/jetty/wicket/jquery

对于某些需求,我正在考虑切换到带有AJAX前端的NoSQL数据存储.我可能会使用jQuery构建前端,并使用JSON与web应用程序中间件进行通信.我倾向于MongoDB,因为它有更多的动态查询功能,但我仍在考虑CouchDB.

我不知道在中间使用什么.可能是安静的东西?我的偏好是坚持使用Java(或者Scala或Groovy),因为我使用Drools等工具来实现规则,Shiro则用于安全.但话说回来,我想 Select 一种快速且易于使用的解决方案,所以我对其他解决方案持开放态度.

如果您正在构建ajax/json/nosql解决方案,我想了解您正在使用的工具的详细信息,以及您发现的使用这些工具的优缺点.

推荐答案

  1. Select 你最喜欢的中间件.

  2. CouchApp目前是非常实验性的.主要问题是,在没有标准HTTP弹出框的情况下,能够为应用程序添加安全性.这显然是标准web应用的一个大问题.

  3. 尽量避免在中间件中解析每个DB请求,并为couchdb重建查询.你可以让你的中间件像一个代理一样工作,这样大多数请求都可以在没有修改的情况下转发.您还可以在所有需要身份验证的请求之上的中间层中添加一个安全层.

  4. Select 一个具有良好URL路由功能的中间件/框架.例如,您可以路由到mydomain的所有请求.com/db/to couchdb.

Mongodb相关问答推荐

数组中字符串的Mongo查询集合和推送到新数组嵌套对象

联接不返回具有ObjectId和非ObjectId的结果

如何判断 mongodb 聚合,该文档具有键,该键是一个数组,其第二个元素是否存在?

如何修改 mongodb 中嵌套对象数组中的字段名称/键?

_id 和 $oid 的区别; mongo 数据库中的 $date 和 IsoDate

创建索引需要很长时间

Meteor mongo 驱动程序可以处理 $each 和 $position 运算符吗?

MongoDB 聚合 $divide 计算字段

如何在 MongoDB 集合中查找与给定条件匹配的文档和单个子文档

如何在任意深度查找 MongoDB 字段名称

使用 MongoDB 的 map/reduce 来分组两个字段

MongoException: Index with name: code already exists with different options

初创公司应该考虑哪些数据库系统?

MongoDb 聚合 $match 错误:Arguments must be aggregate pipeline operators

MongoDB 的 MMAPV1、WiredTiger 或 In-Memory StorageEngine 如何 Select ?

spring 数据MongoDB.生成id的错误

MongoDB:聚合框架: $match between fields

有没有办法防止 MongoDB 向集合名称添加复数形式?

在mongoose中创建和查找地理位置

mongodb & max connections最大连接数