Node.js中的对象关系映射

时间:2015-06-11 23:06:21

标签: .net node.js orm

我们当前的堆栈在前端使用Angular.js,在后端使用C#编写的Web API。

我们正在研究在后端使用Node.js进行未来发展的可能性。提出的一个问题是对象关系映射。我们目前使用.NET堆栈的Entity Framework 6,它的效果非常好。 Node.js世界中的等价物是什么?它有多强大?

2 个答案:

答案 0 :(得分:1)

使用Mongoose的Mongo.db非常接近ORM。您可以定义Schema并轻松处理它们。在查询时,您最终会得到javascript对象,您只需在它们上面调用.save即可。

var PersonModel = mongoose.model('Person', new Schema({
  firstName:   {type: String},
  lastName:    {type: String}
}));

var bob= new PersonModel({
  firstName : "Bob",
  lastName :  "Smith",
});

bob.save(callback);

如果您需要使用SQL数据库,则有http://docs.sequelizejs.com/en/latest/,但是,我没有任何使用它的经验。

答案 1 :(得分:1)

对于SQL数据库,有:

  • this comparison这似乎是最稳定和最受欢迎的,包括迁移工具。
  • sequelize也很受欢迎,并且有一个非常好的查询构建器,可以在外部使用。
  • bookshelf这是一个非常新的,目前使用不多,但易于使用不同的语法。我是这一个的作者,但由于缺乏成熟度以及它自新的快速发展,我暂不推荐它用于现在的实时项目。但是我在我的一个项目中使用它并且它现在运行良好。

这三种都有不同的功能和方式来处理你的模型。它往往是一个品味问题(考虑到项目的成熟度)