如何为ArangoDB有效地建模对象?

时间:2019-01-18 21:16:31

标签: javascript nosql arangodb

我是ArangoDB和javascript的新手(以及几乎所有其他内容)。我正在观看使用Vue,GraphQL,Mongoose和MongoDB的教程。除了ArangoDB,我想使用非常相似的技术堆栈。

但是,当使用Arangojs(用于ArangoDB的javascript驱动程序)时,与本教程相比,我发现自己不得不更加努力工作,编写更多代码来完成相同的事情,而这种差异归结于Mongoose。我正在寻找一种解决方案或开发方法,该方法或开发方法将首先使代码库易于演化和维护。

尤其是在定义Mongoose模式时,我们可以执行以下操作:

const UserSchema = new mongoose.Schema({
username: {
    type: String,
    required: true,
    unique: true,
    trim: true
},
    //...
favorites: {
    type: [mongoose.Schema.Types.ObjectId],
    required: true,
    ref: "Post"
}
});

例如,ref类型提供了很多便利。我想我正在为ArangoDB和javascript寻找Mongoose之类的东西,但是我不认为存在这种东西。因此,我在问如何(高层次)进行开发以实现类似级别的编码功能。

例如,GraphQL的SDL模式可以实现与Mongoose模式相同的功能,并且几乎一样容易吗?

有没有一种方法可以在javascript应用程序的前端和后端同时使用GraphQL模式,从而在此过程中消除了javascript typeDefs和模型?如上所述,这里的目标是优先考虑在添加功能和更改项目需求时易于使用代码。

更新:这看起来像是一个类似的问题(没有答案):

Are there ways to populate a schema in Joi from another schema (like Mongoose does)? - Stack Overflow

0 个答案:

没有答案