Firebase API 用于将树枝从一个集合移动到另一个集合
Firebase API for moving a tree branch from a collection to another one
在我的应用程序中,我需要将一个相当大的集合分支移动到另一个集合。目前,我正在使用类似的东西:
srcRef
.startAt(start)
.endAt(end)
.once('value', function(snap) {
destRef.set(snap.exportVal());
});
显然,它非常昂贵,所以我的问题是:为什么 Firebase 不为此提供简单的 API?喜欢:
srcRef.moveTo(destRef);
您可以使用 Firebase CLI。
Firebase CLI 使用 npm 安装
sudo npm install -g firebase-tools
然后就可以执行命令来获取和设置数据了:
firebase data:get / -f "<my-firebase-app>"
我有 a personal project called firebase-dot-files 创建 bash 函数来执行常见操作。其中之一是传输数据。设置 bash 函数后,您可以执行以下命令:
transfer_to dev-firebase staging-firebase
You can also read this blog post for more information.
作为 npm 模块的 Firebase CLI
Firebase CLI 也可以是used a node module。这意味着您可以调用常用的 CLI 方法,但作为函数。
这是一个简单的 data:get 命令:
var client = require('firebase-tools');
client.data.get('/', { firebase: '<my-firebase-db>', output: 'output.json'})
.then(function(data) {
console.log(data);
process.exit(1);
})
.catch(function(error) {
console.log(error);
process.exit(2);
});
要传输数据,您可以将 data:get 与 data:set.
结合使用
function transfer(path, options) {
var fromDb = options.fromDb;
var toDb = options.toDb;
var output = options.output;
client.data.get(path, { firebase: fromDb, output: output })
.then(function(data) {
return client.data.set(path, output, { firebase: toDb, confirm: true });
})
.then(function(data) {
console.log('transferred!');
process.exit(1);
})
.catch(function(error) {
console.log(error);
process.exit(2);
});
}
transfer('/', { fromDb: '<from>', toDb: 'to', output: 'data.json' });
在我的应用程序中,我需要将一个相当大的集合分支移动到另一个集合。目前,我正在使用类似的东西:
srcRef
.startAt(start)
.endAt(end)
.once('value', function(snap) {
destRef.set(snap.exportVal());
});
显然,它非常昂贵,所以我的问题是:为什么 Firebase 不为此提供简单的 API?喜欢:
srcRef.moveTo(destRef);
您可以使用 Firebase CLI。
Firebase CLI 使用 npm 安装
sudo npm install -g firebase-tools
然后就可以执行命令来获取和设置数据了:
firebase data:get / -f "<my-firebase-app>"
我有 a personal project called firebase-dot-files 创建 bash 函数来执行常见操作。其中之一是传输数据。设置 bash 函数后,您可以执行以下命令:
transfer_to dev-firebase staging-firebase
You can also read this blog post for more information.
作为 npm 模块的 Firebase CLI
Firebase CLI 也可以是used a node module。这意味着您可以调用常用的 CLI 方法,但作为函数。
这是一个简单的 data:get 命令:
var client = require('firebase-tools');
client.data.get('/', { firebase: '<my-firebase-db>', output: 'output.json'})
.then(function(data) {
console.log(data);
process.exit(1);
})
.catch(function(error) {
console.log(error);
process.exit(2);
});
要传输数据,您可以将 data:get 与 data:set.
结合使用function transfer(path, options) {
var fromDb = options.fromDb;
var toDb = options.toDb;
var output = options.output;
client.data.get(path, { firebase: fromDb, output: output })
.then(function(data) {
return client.data.set(path, output, { firebase: toDb, confirm: true });
})
.then(function(data) {
console.log('transferred!');
process.exit(1);
})
.catch(function(error) {
console.log(error);
process.exit(2);
});
}
transfer('/', { fromDb: '<from>', toDb: 'to', output: 'data.json' });