Guest User

Untitled

a guest
Oct 8th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.62 KB | None | 0 0
  1. // получить документ с необходимыми полями
  2. Document found = collection.find().first();
  3. String getTitle = (String) found.get("title");
  4. String getUrl = (String) found.get("url");
  5. String getImg = (String) found.get("img");
  6. String getPrice = (String) found.get("price");
  7.  
  8. // документ, который мне нужно получить в новом виде
  9. Document doc = collection.find(new Document("title", getTitle)
  10. .append("url", getUrl)
  11. .append("img", getImg)
  12. .append("price", getPrice)
  13. .append("sent", true)).first();
  14.  
  15. // если документ не существует, я вставляю как новый
  16. if (doc == null) {
  17. collection.insertOne(new Document("title", getTitle)
  18. .append("url", getUrl)
  19. .append("img", getImg)
  20. .append("price", getPrice)
  21. .append("sent", true));
  22. }
  23.  
  24. com.mongodb.MongoSocketReadException: Prematurely reached end of stream
  25. at com.mongodb.connection.SocketStream.read(SocketStream.java:88)
  26. at com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:491)
  27. at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:221)
  28. at com.mongodb.connection.CommandHelper.receiveReply(CommandHelper.java:134)
  29. at com.mongodb.connection.CommandHelper.receiveCommandResult(CommandHelper.java:121)
  30. at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:32)
  31. at com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:83)
  32. at com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:43)
  33. at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
  34. at com.mongodb.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:46)
  35. at com.mongodb.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:381)
  36. at com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:96)
  37. at com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:82)
  38. at com.mongodb.connection.DefaultServer.getConnection(DefaultServer.java:72)
  39. at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:86)
  40. at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:237)
  41. at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:212)
  42. at com.mongodb.operation.FindOperation.execute(FindOperation.java:482)
  43. at com.mongodb.operation.FindOperation.execute(FindOperation.java:79)
  44. at com.mongodb.Mongo.execute(Mongo.java:772)
  45. at com.mongodb.Mongo$2.execute(Mongo.java:759)
  46. at com.mongodb.FindIterableImpl$FindOperationIterable.first(FindIterableImpl.java:207)
  47. at com.mongodb.FindIterableImpl.first(FindIterableImpl.java:148)
  48. at project.Bot.onUpdateReceived(Bot.java:347)
  49.  
  50. Document found = collection.find().first();
  51.  
  52. List<ServerAddress> List = new ArrayList<>();
  53. List.add(new ServerAddress("cluster0-shard-00-00-ox90k.mongodb.net", 27017));
  54. List.add(new ServerAddress("cluster0-shard-00-01-ox90k.mongodb.net", 27017));
  55. List.add(new ServerAddress("cluster0-shard-00-02-ox90k.mongodb.net", 27017));
  56.  
  57. char[] password = "mypassword".toCharArray();
  58. List<MongoCredential> cred = new ArrayList<>();
  59. cred.add(MongoCredential.createCredential("user", "db_feed", password));
  60. MongoClientOptions optionsBuilder = MongoClientOptions.builder()
  61. .readPreference(ReadPreference.primaryPreferred())
  62. .requiredReplicaSetName("Cluster0-shard-0")
  63. .maxConnectionIdleTime(60000)
  64. .build();
  65.  
  66. MongoClient mongoClient = new MongoClient(List, cred, optionsBuilder);
  67.  
  68. com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primaryPreferred}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=cluster0-shard-00-00-ox90k.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadException: Prematurely reached end of stream}}, {address=cluster0-shard-00-01-ox90k.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadException: Prematurely reached end of stream}}, {address=cluster0-shard-00-02-ox90k.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadException: Prematurely reached end of stream}}]
  69. at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:369)
  70. at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:101)
  71. at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:75)
  72. at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:71)
  73. at com.mongodb.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:63)
  74. at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:210)
  75. at com.mongodb.operation.FindOperation.execute(FindOperation.java:482)
  76. at com.mongodb.operation.FindOperation.execute(FindOperation.java:79)
  77. at com.mongodb.Mongo.execute(Mongo.java:772)
  78. at com.mongodb.Mongo$2.execute(Mongo.java:759)
  79. at com.mongodb.FindIterableImpl$FindOperationIterable.first(FindIterableImpl.java:207)
  80. at com.mongodb.FindIterableImpl.first(FindIterableImpl.java:148)
  81. at project.Bot.onUpdateReceived(Bot.java:347)
  82.  
  83. MongoClientURI connectionString = new MongoClientURI("mongodb://admin1:mypassword@cluster0-shard-00-00-ox90k.mongodb.net:27017,cluster0-shard-00-01-ox90k.mongodb.net:27017,cluster0-shard-00-02-ox90k.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true");
  84. MongoClient mongoClient = new MongoClient(connectionString);
  85.  
  86. MongoClient mongoClient = MongoClients.create("mongodb://user:mypassword@cluster0-shard-00-00-ox90k.mongodb.net:27017,cluster0-shard-00-01-ox90k.mongodb.net:27017,cluster0-shard-00-02-ox90k.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true&maxIdleTimeMS=5000");
  87.  
  88. MongoCredential credential = MongoCredential.createCredential("user", "admin", "mypassword".toCharArray());
  89. MongoClientSettings settings = MongoClientSettings.builder()
  90. .credential(credential)
  91. .retryWrites(true)
  92. .applyToConnectionPoolSettings(builder ->
  93. builder.maxConnectionIdleTime(5000, TimeUnit.MILLISECONDS))
  94. .applyToSslSettings(builder -> builder.enabled(true))
  95. .applyToClusterSettings(builder -> {
  96. builder.hosts(Arrays.asList(
  97. new ServerAddress("cluster0-shard-00-00-ox90k.mongodb.net", 27017),
  98. new ServerAddress("cluster0-shard-00-01-ox90k.mongodb.net", 27017),
  99. new ServerAddress("cluster0-shard-00-02-ox90k.mongodb.net", 27017)
  100. ));
  101. builder.requiredReplicaSetName("Cluster0-shard-0");
  102. })
  103. .build();
  104.  
  105. MongoClient mongoClient = MongoClients.create(settings);
Add Comment
Please, Sign In to add comment