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