从nodejs访问mongodb – 普通的CRUD方法

我是mongodb和nodej的新手。到目前为止,我已经能够创build一个新的mongodb数据库并通过nodejs访问它。 不过,我想写一些通用的访问集合的方法(CRUD),因为我的集合列表将会增加。 例如,我有一个包含书籍和作者的集合

var books = db.collection('books'); var authors = db.collection('authors'); exports.getBooks = function(callback) { books.find(function(e, list) { list.toArray(function(res, array) { if (array) callback(null, array); else callback(e, "Error !"); }); }); }; 

与此类似,我也有获取作者的方法。现在这个过于重复了,因为我想为CRUD操作添加方法。 有没有一种方法可以为我的所有collections共同/通用的CRUD方法?

您应该看看Mongoose,它可以很容易地从node.js处理Mongodb,Mongoose js有一个基于模式的解决scheme,其中每个模式映射到一个Mongodb集合,并且您有一组方法来通过模型来操作这些集合,这是通过编译模式获得的。 几个月前,我几乎在同一个地方,发现Mongoosejs已经足够满足您的所有需求。

@Dilpa – 不知道你是否看过或正在使用Mongoose 链接 ,但它可以有助于实施CRUD。

我写了自己的服务来处理MongoDB文档中非常简单的CRUD操作。 mongoose是优秀的,但强加在文件上的结构(国际海事组织违背了MongoDB的目的 – 如果你将有一个架构,为什么不只是使用关系数据库?)。

https://github.com/stupid-genius/MongoCRUD

该服务还具有作为REST API实施的优点,因此可以由node.js应用程序或其他应用程序使用。 如果您向服务器的根path发送GET请求,您将看到一个屏幕,显示所有CRUD操作的语法(GUI尚未实现)。 我的基本方法是在URLpathhost/db/collection指定数据库和host/db/collection ,然后在POST主体中传递该文档。 然后路由处理程序将文档传递给适当的mongodb函数; 我的服务只是将这些方法暴露在一个非常原始的状态(它确实需要身份validation)。