我正在工作中学习 Node 和 Feathers。需要制作一个简单的应用程序,该应用程序将使用 Feather 来加载带有示例数据的 [nedb]。
var fake = require('./fake.js');
var feathers = require('feathers-client');
var io = require('socket.io-client');
var socket = io("http://127.0.0.1:8000");
var app = feathers()
.configure(feathers.socketio(socket));
var accountsAPIService = app.service('/api/accounts');
var dummyData = fake();
// import dummy data
for ( var i = 0; i < dummyData.accounts.length; i++) {
// console.log(dummyData.accounts[i]);
var params = { query: {}};
accountsAPIService.create(dummyData.accounts[i], params).then(function(account) {
console.log("inserted: ", account);
});
}
// read back inserted records
accountsAPIService.find(params, function(accounts) {
console.log("accounts: ", accounts);
});
我只需要将数组 dummyData.accounts 中的项目插入到服务器中。 当我运行脚本时,似乎没有导入任何内容。 当我读回记录时,它返回:
accounts: null
使用 Feathers 插入/创建记录的正确方法是什么?
最佳答案
无法弄清楚如何使用“.then”,因此使用了常规形式:
for ( var i = 0; i < dummyData.accounts.length; i++) {
var params = { query: {}};
accountsAPIService.create(dummyData.accounts[i], params, function(error, account) {
// console.log("inserted: ", account);
});
}
效果很好。 为了读回数据,我更正了方法签名。然后,它就起作用了。 :)
accountsAPIService.find(function(error, accounts) {
console.log("accounts: ", accounts);
});
关于javascript - 后面有数据库的 Node/羽毛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205272/