/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

解决MongoVUE 修改错误: cannot use 'j' option when a host does not have journaling enabled

2016-04-26 十有三 0 浏览:1万+ 数据库 软件应用 | MongoDB

最近在使用MongoVUE对MongoDB进行管理,作为一个可视化管理工具还是十分方便和快捷。不过刚开始使用时就遇到了一些小问题,在进行修改操作时弹出错误提示:Error in performing Update/cannot use 'j' option when a host does not have journaling enabled。后经过研究,发现造成此问题主要是MongoDB的日志系统未开启,解决方法就是开启MongoDB的日志系统。

先说下问题的具体情况:每当使用MongoVUE执行修改操作都会引发错误,虽然最终的修改操作是成功的,但是依然会提示在执行修改操作的时候发生了错误。

错误截图如下:

错误信息:cannot use 'j' option when a host does not have journaling enabled

MongoVUE其他错误信息

错误信息如下:

Error in performing Update
WriteConcern detected an error 'cannot use 'j' option when a host does not have journaling enabled'. (response was { "connectionId" : 1, "updatedExisting" : true, "n" : 1, "badGLE" : { "getlasterror" : 1, "j" : true }, "ok" : 0.0, "errmsg" : "cannot use 'j' option when a host does not have journaling enabled", "code" : 2 }).
Type: MongoDB.Driver.WriteConcernException
Stack:    在 MongoDB.Driver.Operations.WriteOperation.SendMessageWithWriteConcern(MongoConnection connection, BsonBuffer buffer, Int32 requestId, BsonBinaryReaderSettings readerSettings, BsonBinaryWriterSettings writerSettings, WriteConcern writeConcern)
   在 MongoDB.Driver.Operations.UpdateOperation.Execute(MongoConnection connection)
   在 MongoDB.Driver.MongoCollection.Update(IMongoQuery query, IMongoUpdate update, MongoUpdateOptions options)
   在 MongoDB.Driver.MongoCollection.Update(IMongoQuery query, IMongoUpdate update, UpdateFlags flags, WriteConcern writeConcern)
   在 MangoUI.MCollections.UpdateIt(String db, String coll, BsonDocument match, BsonDocument update, Boolean multi, Boolean upsert, Boolean journal)
   在 MangoUI.ComUpdate.UpdateDocuments(Boolean multi)
Inputs:: 
Command:  getlasterror
Ok:       False
ErrorMsg: cannot use 'j' option when a host does not have journaling enabled
Request:  { "getlasterror" : 1, "j" : true }
Response: { "connectionId" : 1, "updatedExisting" : true, "n" : 1, "badGLE" : { "getlasterror" : 1, "j" : true }, "ok" : 0.0, "errmsg" : "cannot use 'j' option when a host does not have journaling enabled", "code" : 2 }

从上面的错误信息提示就可以看出,主要故障原因在于MongoDB的Journaling日志系统未开启。未开启的原因大概有几点,一是没有安全的退出MongoDB,二是当前的系统环境是32位系统,由于Journaling需要占用较多内存,而32位系统的内存较小,所以默认Journaling是关闭的。

每当启动MongoDB就可以看到关于Journaling未开启的提示:

MongoDB提示32位系统默认不开启Journaling

官方文档也对此进行了说明,64位系统默认是开启日志:

官方文档说明截图

根据提示,只要使用--journal命令就可以成功开启日志系统,这里又分为两种情况,如果MongoDB没有作为Windows服务安装,那么只要在启动MongoDB的命令里加上--journal即可:

mongod --journal

如果MongoDB是作为Windows服务安装,那问题估计要复杂点,由于本人对mongodb还在研究学习阶段,只能采取笨办法,先关掉服务,然后卸载掉再重新安装服务,安装的时候带上--journal命令。

首先停止服务:

停止MongoDB服务

然后卸载MongoDB服务:

mongod --dbpath "E:\MongoDB\Server\3.2\data\db" --logpath "E:\MongoDB\Server\3.2\data\log\MongoDB.log" --remove

最后重新安装MongoDB服务:

mongod --dbpath "E:\MongoDB\Server\3.2\data\db" --logpath "E:\MongoDB\Server\3.2\data\log\MongoDB.log" --install --journal

卸载和安装操作都需要在MongoDB目录下通过命令行工具执行,这里展示的操作语句是根据本人当时的安装环境来进行操作的,所以如果有需要的朋友要注意根据自身的系统环境进行修改。

最后总结下,其实最好的解决方式就是使用64位的操作系统,有条件最好就换个系统吧,良好的开发环境对应程序员同胞来说还是很重要的。


相关资料:

  1. 在windows上安装mongodb的官方文档
  2. Journaling的官方文档
  3. Manage Journaling
  4. staciouerflow相关问题1
  5. staciouerflow相关问题2

作者:十有三

出处:https://shiyousan.com/post/635972886144149106

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: 解决VS2013错误:Page '312e8a59-2712-48a1-863e-0ef4e67961fc' not found.
  • 下一篇: MongoDB小技巧:在命令提示符中通过任意路径执行MongoDB命令

相关文章
  • 解决SQL SERVER还原数据库错误:备份介质集不完整。介质簇计数: 2。缺失的介质簇序列号: 1
  • SQL Server Express不支持维护计划功能
  • 使用sqlcmd命令执行带参数的存储过程
  • SQL 获取下一条数据
  • SQL查询当前数据上一条和下一条的数据以实现获取文章上下篇文章信息
  • MongoDB学习笔记:28663 Cannot start server. The default storage engine 'wiredTiger' is not available

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • ASP.NET MVC移除URL后面自动加上的AspxAutoDetectCookieSupport=1
  • 解决OneNote 2016提示备份成功但是文件夹为空白的问题
  • Visual Studio Code 格式化文档的快捷键
  • 360断网急救箱可能导致IE11故障无法运行JS脚本代码
  • ASP.NET中Page设置ValidateRequest="false" 无效

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号