Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // получить документ с необходимыми полями
- Document found = collection.find().first();
- String getTitle = (String) found.get("title");
- String getUrl = (String) found.get("url");
- String getImg = (String) found.get("img");
- String getPrice = (String) found.get("price");
- // документ, который мне нужно получить в новом виде
- Document doc = collection.find(new Document("title", getTitle)
- .append("url", getUrl)
- .append("img", getImg)
- .append("price", getPrice)
- .append("sent", true)).first();
- // если документ не существует, я вставляю как новый
- if (doc == null) {
- collection.insertOne(new Document("title", getTitle)
- .append("url", getUrl)
- .append("img", getImg)
- .append("price", getPrice)
- .append("sent", true));
- }
- com.mongodb.MongoSocketReadException: Prematurely reached end of stream
- at com.mongodb.connection.SocketStream.read(SocketStream.java:88)
- at com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:491)
- at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:221)
- at com.mongodb.connection.CommandHelper.receiveReply(CommandHelper.java:134)
- at com.mongodb.connection.CommandHelper.receiveCommandResult(CommandHelper.java:121)
- at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:32)
- at com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:83)
- at com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:43)
- at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
- at com.mongodb.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:46)
- at com.mongodb.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:381)
- at com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:96)
- at com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:82)
- at com.mongodb.connection.DefaultServer.getConnection(DefaultServer.java:72)
- at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:86)
- at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:237)
- at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:212)
- at com.mongodb.operation.FindOperation.execute(FindOperation.java:482)
- at com.mongodb.operation.FindOperation.execute(FindOperation.java:79)
- at com.mongodb.Mongo.execute(Mongo.java:772)
- at com.mongodb.Mongo$2.execute(Mongo.java:759)
- at com.mongodb.FindIterableImpl$FindOperationIterable.first(FindIterableImpl.java:207)
- at com.mongodb.FindIterableImpl.first(FindIterableImpl.java:148)
- at project.Bot.onUpdateReceived(Bot.java:347)
- Document found = collection.find().first();
- List<ServerAddress> List = new ArrayList<>();
- List.add(new ServerAddress("cluster0-shard-00-00-ox90k.mongodb.net", 27017));
- List.add(new ServerAddress("cluster0-shard-00-01-ox90k.mongodb.net", 27017));
- List.add(new ServerAddress("cluster0-shard-00-02-ox90k.mongodb.net", 27017));
- char[] password = "mypassword".toCharArray();
- List<MongoCredential> cred = new ArrayList<>();
- cred.add(MongoCredential.createCredential("user", "db_feed", password));
- MongoClientOptions optionsBuilder = MongoClientOptions.builder()
- .readPreference(ReadPreference.primaryPreferred())
- .requiredReplicaSetName("Cluster0-shard-0")
- .maxConnectionIdleTime(60000)
- .build();
- MongoClient mongoClient = new MongoClient(List, cred, optionsBuilder);
- 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}}]
- at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:369)
- at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:101)
- at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:75)
- at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:71)
- at com.mongodb.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:63)
- at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:210)
- at com.mongodb.operation.FindOperation.execute(FindOperation.java:482)
- at com.mongodb.operation.FindOperation.execute(FindOperation.java:79)
- at com.mongodb.Mongo.execute(Mongo.java:772)
- at com.mongodb.Mongo$2.execute(Mongo.java:759)
- at com.mongodb.FindIterableImpl$FindOperationIterable.first(FindIterableImpl.java:207)
- at com.mongodb.FindIterableImpl.first(FindIterableImpl.java:148)
- at project.Bot.onUpdateReceived(Bot.java:347)
- 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");
- MongoClient mongoClient = new MongoClient(connectionString);
- 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");
- MongoCredential credential = MongoCredential.createCredential("user", "admin", "mypassword".toCharArray());
- MongoClientSettings settings = MongoClientSettings.builder()
- .credential(credential)
- .retryWrites(true)
- .applyToConnectionPoolSettings(builder ->
- builder.maxConnectionIdleTime(5000, TimeUnit.MILLISECONDS))
- .applyToSslSettings(builder -> builder.enabled(true))
- .applyToClusterSettings(builder -> {
- builder.hosts(Arrays.asList(
- new ServerAddress("cluster0-shard-00-00-ox90k.mongodb.net", 27017),
- new ServerAddress("cluster0-shard-00-01-ox90k.mongodb.net", 27017),
- new ServerAddress("cluster0-shard-00-02-ox90k.mongodb.net", 27017)
- ));
- builder.requiredReplicaSetName("Cluster0-shard-0");
- })
- .build();
- MongoClient mongoClient = MongoClients.create(settings);
Add Comment
Please, Sign In to add comment