如何使用羽毛生成自定义服务(generator-feathers)设置arangodb

how to set up arangodb with feather generate custom service (generator-feathers)

我已经用 feathers-cli 设置了一个服务器

feathers geneate app

因为没有可用的 Arangodb 默认服务,所以我做了:

feathers generate service
> A custom service

我现在正在搜索 examples/docs,关于如何 link 自定义服务调用,如创建、查找、获取等到 arangodb 或任何数据库。

可以找到有关如何创建自己的服务的文档 in the services API documentation

在集合中存储数据的 ArangoDB 服务如下所示:

class Service {
  constructor(collection) {
    this.collection = collection;
  }

  create(data) {
    return this.collection.save(data);
  }
}

您将为 findupdatepatchremove 实现类似的功能。

现在有不同的方法来初始化数据库连接和服务。对于某些模式,您可以参考生成器如何设置 MongoDB 或 Mongoose,对于 ArangoDB,它可能看起来像这样:

const { Database } = require('arangojs');

app.set('arangodb', new Database('http://127.0.0.1:8529'));

db.createDatabase('mydb').then(
  () => {
    db.useDatabase('mydb');
    // Initialize the service here
    app.use('/myservice', new Service(db.collection('people')));
  },
  err => console.error('Failed to create database:', err)
);

现有适配器的代码,例如feathers-memory or one of the many other database adapters也可以作为一个很好的参考。