• com.mongodb.MongoCommandException: Command failed with error 48 (NamespaceExists) MongoDB报错


    1. 报错
    com.mongodb.MongoCommandException: Command failed with error 48 (NamespaceExists): 'a collection 'mapMongoDB.macCode01' already exists' on server localhost:27017. The full response is { "ok" : 0.0, "errmsg" : "a collection ' **mapMongoDB.macCode01** ' already exists", "code" : 48, "codeName" : "NamespaceExists" }
    	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:179)
    	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:293)
    	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255)
    	at com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive(UsageTrackingInternalConnection.java:99)
    	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceive(DefaultConnectionPool.java:444)
    	at com.mongodb.internal.connection.CommandProtocolImpl.execute(CommandProtocolImpl.java:72)
    	at com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:200)
    	at com.mongodb.internal.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:269)
    	at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:131)
    	at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:123)
    	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:242)
    	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:233)
    	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:170)
    	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:163)
    	at com.mongodb.operation.CreateCollectionOperation$1.call(CreateCollectionOperation.java:381)
    	at com.mongodb.operation.CreateCollectionOperation$1.call(CreateCollectionOperation.java:377)
    	at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:453)
    	at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415)
    	at com.mongodb.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:377)
    	at com.mongodb.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:54)
    	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:193)
    	at com.mongodb.client.internal.MongoDatabaseImpl.executeCreateCollection(MongoDatabaseImpl.java:300)
    	at com.mongodb.client.internal.MongoDatabaseImpl.createCollection(MongoDatabaseImpl.java:257)
    	at com.mongodb.client.internal.MongoDatabaseImpl.createCollection(MongoDatabaseImpl.java:252)
    	at com.example.demo.Demo.mongoDBRepository.mongoDBRepository.main(mongoDBRepository.java:24)
    

    1. 原因
    • 当前库中的集合已经存在了,再次创建会抛出异常
    1. 解决方案一
    • 删除存在的集合:

    db.macCode01.drop();

    1. 解决方案二
    • 创建新的集合:

    db.createCollection("collName", {size: 20, capped: 5, max: 100});//创建成功会显示{"ok":1}

  • 相关阅读:
    前端跨域整理
    URL HTML 统一资源定位器(Uniform Resource Locators)
    css属性选择器*=,|=,^=,$=,*=的区别
    JavaScript运算符 ~,~~,|,&,&&
    js获取url参数值的几种方式
    vue 常用插件集合(最全)
    Echarts曲线设置多条X轴和Y轴
    vue中引入.svg图标,使用iconfont图标库(SvgIcon组件使用)
    采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录
    VS如何设置类或函数前不显示引用的数量
  • 原文地址:https://www.cnblogs.com/Twittery/p/15033770.html
Copyright © 2020-2023  润新知