小编Rav*_*rti的帖子

Firebase与AngularFire

我正在研究一个Angular AppFirebase实时数据库相关的问题.我目前正在使用AngularFire访问Firebase数据库.

在阅读Vanilla FirebaseAngularFire记录之后,在实现我的应用程序的某些部分之后,我看到Firebase数据库所需的所有内容都可以在Vanilla Firebase的帮助下实现,而无需任何帮助AngularFire.

此外,AngularFire与之相比,仅提供有限数量的资源Vanilla Firebase.那么,为什么我要使用它AngularFire,而不是Vanilla Firebase当它有许多资源可用时呢?我无法理解这种情况.

使用AngularFire结束有Vanilla Firebase什么好处?

angularjs firebase angularfire firebase-realtime-database angularfire2

28
推荐指数
1
解决办法
7684
查看次数

清理临时目录Firebase云功能

我正在为我的webapp使用Cloud Functions for Firebase.我需要为在Firebase存储上上传的任何图片创建缩略图.为此,我需要将上传的文件从GCS存储桶下载到临时目录(使用mkdirp-promise),然后应用imageMagick命令创建缩略图.(Firebase功能样本 - 生成缩略图)

return mkdirp(tempLocalDir).then(() => {
    console.log('Temporary directory has been created', tempLocalDir);
    // Download file from bucket.
    return bucket.file(filePath).download({
      destination: tempLocalFile
    });
  }).then(() => {
    //rest of the program
  });
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这个temp目录在哪里创建?
  2. 此临时存储是否计入我的firebase云存储或Google云存储配额?
  3. 在成功上传新创建的缩略图文件后,如何清理临时目录?所以我的配额不会超过.

firebase google-cloud-functions firebase-storage

7
推荐指数
2
解决办法
2885
查看次数

使用 ngrok 隧道化 mongodb

我在我的机器上本地托管了一个 MongoDb,并在端口 localhost:27017 中成功运行。该数据库有一个用户名和密码,其中包含一个名为“testDb”的集合。在代码中,我能够使用本地主机成功访问数据库。

我正在尝试使用 ngrok 从远程桌面访问此 MongoDb。我已经实现了端口转发,命令提示符中显示了以下响应。

转发https://5e825c82.ngrok.io -> http://localhost:27017

我也尝试更改端口 => 转发https://5e825c82.ngrok.io -> http://localhost:28017

两个端口都失败并显示以下错误消息:到http://5e825c82.ngrok.io的连接已成功通过隧道传输到您的 ngrok 客户端,但客户端未能建立到本地地址 localhost:28017 的连接。确保 Web 服务正在 localhost:28017 上运行并且它是一个有效地址。遇到的错误是:dial tcp [::1]:28017: connectex: 由于目标机器主动拒绝,无法建立连接。

// Works fine
MongoClient client = new MongoClient("mongodb://admin:admin@localhost:27017/testDb");

// Fails:
MongoClient client = new MongoClient("mongodb://admin:admin@5e825c82.ngrok.io/testDb");
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用 ngrok 建立到 MongoDb 的连接。

authentication mongodb ngrok

7
推荐指数
1
解决办法
1584
查看次数

Firebase多个子监听器

我们正在开发一个移动应用程序(Android和iOS),我们正在使用Firebase进行聊天和其他实时消息.

我们使用的结构是:

firebase-url/user-id/
                 contacts/child-element
                 activities/
                           joined/child-element
                           created/child-element
                 notifications/child-element
Run Code Online (Sandbox Code Playgroud)

为了保持我的应用程序数据更新,我执行查询并将子侦听器附加到user-id分支(联系人,已加入,创建,通知)的每个第一级子级(或活动的第二级).功能方面它完美地运行并且可以轻松地保持一切最新,但是今天进行了一小时的用户测试并且电池耗尽非常重(对于一个用户,应用程序使用大约26%的电池,第二大最常用)并始终GC收集器经常运行,我的感觉是firebase连接可能是最大的用户.它是否正确?可能最好只在user-id分支上拥有一个子监听器?

任何帮助,将不胜感激.如果需要,我会发布一些Android代码.

PS:这是针对该应用的Android版本.

android firebase firebase-realtime-database

6
推荐指数
1
解决办法
2605
查看次数

CouchDB简单找到

我有一些couchDB数据库.我希望,如在mongodb,找到一个项目.像db.find({user : "John"}) 这样最简单的方法吗?

couchdb

5
推荐指数
1
解决办法
2693
查看次数

MongoError:在副本集中找不到主节点(Mongoose用内部地址替换了gcloud上的外部IP地址)

(交叉发布https://github.com/Automattic/mongoose/issues/4834

这是mongodb - 3.4.0(来自docker的mongo:latest)的最新版本,并且我已经在Google计算引擎上安装了mongo集群。每个mongo服务器都有一个external和一个internal IP address

我可以使用相同的nodejs代码连接到各个mongo节点。但是,当我同时使用两个IP地址(mongodb:// IP-ADDR1,IP-ADDR2)时,出现“未找到主要错误”。

从看起来像的日志中,mongodb通过URL连接到每个服务器,并获取如下拓扑相关的数据结构(ismaster),

ismaster [{“ hosts”:[“ 10.60.4.5:27017","10。60.4.6:27017”],“ setName”:“ rs0”,“ setVersion”:4,“ ismaster”:false,“ secondary” :true,“ primary”:“ 10.60.4.5:27017","me":"10。60.4.6:27017”,“ lastWrite”:{“ opTime”:{“ ts”:“ 6367309576328445953”,“ t” :1},“ lastWriteDate”:“ 2016-12-23T14:53:07.000Z”},“ m axBsonObjectSize”:16777216,“ maxMessageSizeBytes”:48000000,“ maxWriteBatchSize”:1000,“ localTime”:“ 2016-12- 23T14:53:13.7 21Z“,” maxWireVersion“:5,” minWireVersion“:0,” readOnly“:false,” ok“:1}]]

在这里,它ismaster.meIP-ADDR用来调用connect命令的方式不同(ismaster.me是内部IP地址)。之后,mongo从种子列表中删除原始IP地址,如下所示:

[WARN-ReplSet:9532] 1482504793904由于其地址104.197.115.7:27017与其ismaster.me地址10.60.4.6:27017不匹配而删除了种子列表服务器{类型:'警告'

最后,结果为' no primary found in replicaset'

较长的日志详细信息发布在链接上-https://github.com/Automattic/mongoose/issues/4834

TIA。

请让我知道我的分析是否正确以及我们是否知道解决该问题的方法。

mongoose google-compute-engine node-mongodb-native

5
推荐指数
1
解决办法
1019
查看次数

切换md-sidenav模式(Angular Material 2)

我有兴趣改变md-sidenav- 从Angular Material 2 - 模式从侧面(桌面)到over(移动).有没有办法以编程方式更改它?谢谢

menu angular-material2 angular

4
推荐指数
1
解决办法
3877
查看次数

如何生成随机数以在角度 2 上输入表单组索引

我有一个动态表单输入,用户可以在其中按下按钮添加更多输入字段,这些字段将使用 ngFor 绑定到模板,如下所示:

*ngFor="let data of getTasks(myFormdata); let i=index"
Run Code Online (Sandbox Code Playgroud)

和 ts 文件

getTasks(myFormdata) {
    return myFormdata.get('inputs').controls
  } 
Run Code Online (Sandbox Code Playgroud)

所有这些都很好用。用户可以添加新的输入字段,但我有一个按钮可以生成一个随机数并将随机数设置为输入值。由于我是 Angular 2 的新手,当有多个输入字段时,我似乎无法实现它。生成随机数进入字段的方法如下:

getRandomNumber() {
    const random = Math.floor(Math.random() * (999999 - 100000)) + 100000;
    const control = <FormArray>this.myFormdata.controls['inputs'];
    control.setValue([{numbers: random, pari: 25}])
}
Run Code Online (Sandbox Code Playgroud)

我的getRandomNumber()方法缺少什么来为每个添加的字段生成一个随机数?

javascript typescript angular

3
推荐指数
1
解决办法
2万
查看次数

二维码到 dataURL

我正在尝试使用davidshimjs/qrcodejs和下面的代码生成 QR 码。但是,当我尝试生成 DataURL 时,出现以下错误:

类型错误: document.getElementById(...).toDataURL 不是函数

下面是我的代码:

HTML:

<div id="qrcode"></div>
Run Code Online (Sandbox Code Playgroud)

JS:

var qrcode = new QRCode("qrcode", {
    text: QRId,
    width: 200,
    height: 200,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});
var dataURL = document.getElementById('qrcode').toDataURL();
Run Code Online (Sandbox Code Playgroud)

javascript qr-code

2
推荐指数
1
解决办法
8904
查看次数