我是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和模型?如上所述,这里的目标是优先考虑在添加功能和更改项目需求时易于使用代码。
更新:这看起来像是一个类似的问题(没有答案):