0
我已经建立了与服务器的羽毛,CLI如何设置arangodb羽毛生成定制服务(发电机羽)
feathers geneate app
由于是为Arangodb没有可用的默认服务,我做的事:
feathers generate service
> A custom service
我正在搜索示例/文档,了解如何将自定义服务调用(如创建,查找,获取等)链接到arangodb或任何数据库。
我已经建立了与服务器的羽毛,CLI如何设置arangodb羽毛生成定制服务(发电机羽)
feathers geneate app
由于是为Arangodb没有可用的默认服务,我做的事:
feathers generate service
> A custom service
我正在搜索示例/文档,了解如何将自定义服务调用(如创建,查找,获取等)链接到arangodb或任何数据库。
有关如何创建自己的服务的文档可以找到in the services API documentation。
一个集合中存储数据的ArangoDB服务看起来就像这样:
class Service {
constructor(collection) {
this.collection = collection;
}
create(data) {
return this.collection.save(data);
}
}
而且你会为find
,update
,patch
和remove
实现类似的功能。
现在有不同的方式来初始化数据库连接和服务。对于一些模式,你可以参考生成器是怎样建立的MongoDB或猫鼬,为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或many other database adapters之一也可以是一个很好的参考。
我仍然不明白如何/在哪里做数据库的实际调用,并返回结果到Promise 'create(data,params){0} {0} {0} {0} db.query(....) // .then(result)'' ''if(Array.isArray(data)){ return Promise.all(data.map(current => this.create当前))); } return Promise.resolve(data); }'' – Jingle
用生成器生成一个通用服务,并用适当的数据库调用填充服务类方法。 – Daff
我正在使用通用服务,并且与普通回调''create(data,cb){..... cb(result)}一起工作正常,但是我无法让它与Promises协同工作。我想我应该在继续之前阅读更多关于Promise的内容。至少我现在知道确保db调用进入.class.js文件。谢谢。 – Jingle