当前位置:  开发笔记 > 编程语言 > 正文

为什么在MongoDB或CouchDB中使用Javascript而不是Java,C++等其他语言?

如何解决《为什么在MongoDB或CouchDB中使用Javascript而不是Java,C++等其他语言?》经验,为你挑选了1个好方法。

到目前为止,我对Javascript的理解是它是一种客户端语言,可以捕获事件并使网页动态化.

但是在阅读MongoDB和CouchDB(http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB)之间的比较时,我注意到两者都在使用JS.这让我想知道JS选择其他传统语言背后的原因.

我想我正在努力理解JS的作用及其优于其他语言的优势.

更新:我不是在询问两个dbs支持的语言/驱动程序.比较说 - "CouchDB和MongoDB都使用Javascript.CouchDB广泛使用Javascript,包括构建视图.... MongoDB还支持在服务器端运行任意javascript函数,并使用javascript进行map/reduce操作."

我缺乏理解的原因是为什么JS完全用于后端工作.为什么首选在CouchDB中构建视图,或者使用map/reduce操作?为什么不使用C/C++或Java?使用JS进行后端工作有什么好处?

答:总结https://softwareengineering.stackexchange.com/q/121411/41398上的答案.MongoDB和其他NoSQL dbs正在使用SpiderMonkey来执行服务器端JS功能.这是维基百科到spidermonkey的链接 - http://en.wikipedia.org/wiki/SpiderMonkey_(JavaScript_engine)

PS:如果有人想对这个问题进行投票,请发表评论来解释原因.



1> Robert Newso..:

许多语言的问题是缺少沙盒(能够在地图函数中执行'rm -rf /'被认为是一个问题),javascript,因为它的浏览器根源,有一个.Javascript是CouchDB中的默认视图服务器,但协议已记录在案,并且存在其他语言绑定(Ruby,Python等).它还附带一个原生的Erlang选项.

在后端使用与前端相同的语言也很优雅,但CouchDB不会强迫您选择语言,它只是附带一个可靠的Javascript视图引擎.

有关视图服务器协议的详细信息以及指向备用实现的链接,此处:

http://wiki.apache.org/couchdb/View_server

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有