出于性能原因,我们正在将数据库从MySQL迁移到MongoDB,并考虑将什么用于MongoDB文档的ID.我们正在讨论使用ObjectIDs,它是MongoDB的默认值,还是使用UUID(这是我们在MySQL中一直使用的).到目前为止,我们必须支持以下任何选项的论点如下:
ObjectIDs: ObjectID是MongoDB的默认值,我假设(虽然我不确定)这是有原因的,这意味着我希望MongoDB能够比UUID更有效地处理它们,或者有其他理由选择它们.我还发现这个stackoverflow的答案提到ObjectIDs的使用使得索引更有效率,但是对于这个"更有效"的程度有一些指标会更好.
UUIDs: 我们支持使用UUID的基本论点(并且它是非常重要的)是它们几乎可以通过任何数据库以这种或那种方式得到支持.这意味着如果在某种程度上我们决定从任何原因切换到MongoDB,我们已经有一个API,它根据ID从DB中检索文档,因为ID可以继续,所以这个API的客户端没有任何变化.完全一样.如果我们使用ObjectID,我不确定如何将它们迁移到另一个DB.
有没有人对这些选项中的一个可能比另一个更好以及为什么有任何见解?您是否曾在MongoDB中使用UUID而不是ObjectIDs,如果是,您遇到的优势/问题是什么?
我正在尝试使用Git插件在Jenkins中配置Git项目.在项目配置页面中,我在Git配置中输入存储库URL,这是一个https URL(https://git.mycompany.com/git/MyProject.git).当我正在构建项目时,我收到以下错误:
Started by user Hudson Administrator
[EnvInject] - Loading node environment variables.
Building in workspace /home/hudson/.hudson/jobs/MyProject/workspace
Checkout:workspace / /home/hudson/.hudson/jobs/MyProject/workspace - hudson.remoting.LocalChannel@3699cfcc
Using strategy: Default
Cloning the remote Git repository
Cloning repository https://git.mycompany.com/git/MyProject.git
git --version
git version 1.8.2.1
ERROR: Error cloning remote repo 'origin' : Could not clone https://git.mycompany.com/git/MyProject.git
hudson.plugins.git.GitException: Could not clone https://git.mycompany.com/git/MyProject.git
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:286)
at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:47)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
at hudson.FilePath.act(FilePath.java:912)
at hudson.FilePath.act(FilePath.java:885)
at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:948)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1114)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:652)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) …Run Code Online (Sandbox Code Playgroud) 我已经开始使用Play 2.1.0,我希望能够使用NetBeans开发Play Java应用程序.我真的不想使用IDE来运行或测试应用程序,因为我可以从命令行执行此操作(不是我会介意,如果我也可以获得IDE支持),但我希望能够打开并在NetBeans中编辑我的项目,而不会在它们不存在的情况下出现恼人的错误.我目前正在使用NetBeans 7.3,所以我首先尝试使用nbplay插件,但是它无法识别Play生成的所有导入或托管类.然后我尝试将项目作为Eclipse项目导入,如本项和此问题中所述,这项工作更好,但在使用Play的Java教程之一时,我仍然遇到以下错误,这使得使用NetBeans真的很烦人:
有没有人设法使Play 2.1.0与NetBeans一起使用而不会出现上述任何错误?我可能和第一个人住在一起(虽然它会让我很烦)但其余的都是showstoppers.
我有一个 Cordova 项目,正在尝试为 Android 构建。我正在使用 Cordova 5.3.3 和 cordova-android 5.0.0。根据此处找到的 Cordova Android 文档,为了让 cordova 对其生成的发布 apk 进行签名,我需要将签名配置传递给它,包括密钥库密码和密钥密码。当我通过 build.json 包含此配置(我通过 --buildConfig 属性传递给我的 cordova 构建命令)时,一切都会按预期工作。然而,由于 build.json 已提交给 Git,并且我希望密钥库和密钥密码不要在那里供每个人阅读,因此我正在尝试找到另一种方法来传递 cordova 这些密码。该文档指出:
可以使用上面的命令行参数来指定这些参数来构建或运行脚本。
这让我相信我可以运行以下构建命令来在命令行中传递密码,而不是将其包含在 build.json 中:
cordova build android --release --buildConfig cordova-config/build.json --password myPassword
Run Code Online (Sandbox Code Playgroud)
然而,这会失败并出现以下错误:
未知平台:myPassword
我是否误读了文档中的某些内容,或者这是我正在使用的 cordova-android 版本的问题?