我是NOSQL世界的新手,仍然在nosql和sql数据库之间进行比较,
我刚尝试使用mongodb制作一些样品。
当我们向一个存储过程发送少量参数时,我询问存储过程,这个过程在数据库中执行其他存储过程的数量,将从存储过程中获取数据并将数据发送给其他人。
换句话说,将使用函数序列和存储过程使逻辑发生在数据库端。
NOSQL数据库中是否存在相同的行为或类似内容,或者它完全不同,我的想法是错误的?
答案 0 :(得分:5)
Mongo在一些地方使用存储的Javascript,包括Map / Reduce,db.eval和where子句。查看此博客文章以进行调查:
Working With Stored JavaScript in MongoDB
将函数存储在服务器上并使它们在这三个上下文中可用的关键是db.system.js.save:
db.system.js.save( { _id : "foo" , value : function( x , y ){ return x + y; } } );
答案 1 :(得分:0)
取决于您是将“NOSQL”定义为“No SQL”还是“Not Only SQL”。
OpenLink Virtuoso [1](由我的雇主制作)是后者,具有存储过程,SPARQL-in-SQL和SQL-in-SPARQL,以及其他巧妙的技巧;包括通过进程内运行时托管(Perl,PHP,Python,Ruby,JSP等),外部库或帮助应用程序等的可扩展性。
其他NoSQL DB有其他处理方法,例如Mongo通过JavaScript的可扩展性,在其他答案中有描述。