我正在尝试在Meteor.js应用程序和Mongo服务器之间设置无密码身份验证.
为此,我需要将pem和crt文件呈现给连接.MONGO_URL连接字符串仅接受有关如何执行身份验证的参数,但不引用具有证书的文件.我假设,我需要将cert文件作为参数传递给连接.类似于这里描述的.
如何在Meteor.js中做到这一点?
基本上我想实现相当于:
mongo mongo.example.com/example -ssl -sslPEMKeyFile client.pem --sslCAFile server.crt
Run Code Online (Sandbox Code Playgroud)
然后描述这里
db.getSiblingDB("$external").auth(
{
mechanism: "MONGODB-X509",
user: "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry"
}
)
Run Code Online (Sandbox Code Playgroud)
这在使用mogo客户端时工作正常,但在Meteor中我到目前为止只是达到理解的程度,我很可能需要使用下面的连接字符串(或类似的东西)
MONGO_URL=mongodb://mongo.example.com:27017/example?ssl=true&authSource=$external&authMechanism=MONGODB-X509
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在 - 如何将证书传递给连接?
更新:有使用本机noddejs mongo驱动程序处理问题的答案.问题是 - 如何将此移植到Meteor.
更新2015-12-31:我已经接受了在定义Collection时指向使用不同连接对象的答案.分别为每个系列做这件事很麻烦,但它似乎是现在唯一可行的方法.此外,如果需要,可能会创建一些MySslCollection,其他人可以使用它来继承连接详细信息.这尚未经过测试.
我有默认的 css 文件和单独的 css 文件,只有在满足某些条件时才应该应用(以 owerride 默认)。
我正在使用具有默认import 'file.css'语法的create-react-app 。
决定是否动态加载特定 css 文件的最佳方法是什么?
截至最近,所有关于流星状态的文档都是onRendered在模板完成渲染时获取回调的新方法.并且rendered只是为了向后兼容.
然而,这似乎并不适合我.onRendered永远不会被执行,rendered而是.我有最新的meteor版本1.1.0.2
//only this is executed
Template.hello.rendered = function(){
console.log('rendered');
}
//and this is not
Template.hello.onRendered = function(){
console.log('onRendered');
}
//even if I comment first one out
Run Code Online (Sandbox Code Playgroud)
在动作两种功能,你可以在此看到GitHub的回购.我做错了什么,或者这是onRendered的缺陷?
第二个问题 - 为什么我开始深入研究这个问题 - 每次在我的模板中添加/删除dom元素时如何执行代码?rendered当发生这种情况时似乎没有被调用.还有其他方法吗?
我无法让我的cordova/ionic android应用程序与谷歌分析一起使用.现在我已经尝试了GAPlugin与anulartics没有成功,现在我正在尝试更简单的设置https://github.com/danwilson/google-analytics-plugin
在我的离子角应用程序中,我添加了以下代码
.run(function($ionicPlatform) {
if (typeof analytics !== 'undefined'){
analytics.startTrackerWithId('UA-55MYNUMB8-1');
analytics.trackView('testapmain');
console.log("starting analytics");
analytics.debugMode()
}
else
{
console.log("Google Analytics plugin could not be loaded.")
}
}
Run Code Online (Sandbox Code Playgroud)
并且它似乎正确处理,以下是输出 adb -s BH9XXXXJ0D logcat | grep GAV3
看起来它连接到谷歌分析,发送消息
V/GAV3 (12570): Thread[client_id_fetcher,5,main]: Storing clientId.
I/GAV3 (12703): Thread[GAThread,5,main]: No campaign data found.
V/GAV3 (12570): Thread[GAThread,5,main]: connecting to Analytics service
V/GAV3 (12570): Thread[main,5,main]: service connected, binder: android.os.BinderProxy@4483eda8
V/GAV3 (12570): Thread[main,5,main]: bound to service
V/GAV3 (12570): Thread[GAThread,5,main]: connect: bindService returned true for Intent { act=com.google.android.gms.analytics.service.START …Run Code Online (Sandbox Code Playgroud) 我想让 Materialize.css 卡在双击时可编辑。为此,我将输入放在卡片 div 中,而不是 p 中。
div.row
each cards
div.col.m4.s12
div.card.teal
div.card-content.white-text
if openCard
//input(type='text' value='#{text}')
textarea.materialize-textarea #{text}
else
p #{text}
Run Code Online (Sandbox Code Playgroud)
问题是输入(和文本区域)元素具有广泛的材料设计样式,包括输入下方的线条。在其他场合它看起来很整洁,但在卡片内部它完全没有必要。
有没有办法从输入元素中删除样式,以便它可以在双击编辑模式下使用?
或者也许还有其他解决方案,如何通过双击卡片进行编辑,而不涉及重复使用以前样式的元素?
ps 我在 Meteor 中运行它,并且有 Jade 预处理器。然而,这些事实不应影响问题或答案。