use of org.bson.BsonDocumentReader in project mongo-java-driver by mongodb.
the class ListCollectionsOperation method projectFromFullNamespaceToCollectionName.
private List<T> projectFromFullNamespaceToCollectionName(final List<BsonDocument> unstripped) {
if (unstripped == null) {
return null;
}
List<T> stripped = new ArrayList<T>(unstripped.size());
String prefix = databaseName + ".";
for (BsonDocument cur : unstripped) {
String name = cur.getString("name").getValue();
String collectionName = name.substring(prefix.length());
cur.put("name", new BsonString(collectionName));
stripped.add(decoder.decode(new BsonDocumentReader(cur), DecoderContext.builder().build()));
}
return stripped;
}
use of org.bson.BsonDocumentReader in project mongo-java-driver by mongodb.
the class FindOperation method documentToQueryResult.
private QueryResult<T> documentToQueryResult(final BsonDocument result, final ServerAddress serverAddress) {
QueryResult<T> queryResult;
if (isExplain()) {
T decodedDocument = decoder.decode(new BsonDocumentReader(result), DecoderContext.builder().build());
queryResult = new QueryResult<T>(getNamespace(), Collections.singletonList(decodedDocument), 0, serverAddress);
} else {
queryResult = cursorDocumentToQueryResult(result.getDocument("cursor"), serverAddress);
}
return queryResult;
}
use of org.bson.BsonDocumentReader in project drill by axbaretto.
the class TestBsonRecordReader method testArrayType.
@Test
public void testArrayType() throws IOException {
BsonDocument bsonDoc = new BsonDocument();
BsonWriter bw = new BsonDocumentWriter(bsonDoc);
bw.writeStartDocument();
bw.writeName("arrayKey");
bw.writeStartArray();
bw.writeInt32(1);
bw.writeInt32(2);
bw.writeInt32(3);
bw.writeEndArray();
bw.writeEndDocument();
bw.flush();
bsonReader.write(writer, new BsonDocumentReader(bsonDoc));
SingleMapReaderImpl mapReader = (SingleMapReaderImpl) writer.getMapVector().getReader();
FieldReader reader = mapReader.reader("arrayKey");
assertEquals(3, reader.size());
}
use of org.bson.BsonDocumentReader in project drill by axbaretto.
the class TestBsonRecordReader method testObjectIdType.
@Test
public void testObjectIdType() throws IOException {
BsonDocument bsonDoc = new BsonDocument();
BsonObjectId value = new BsonObjectId(new ObjectId());
bsonDoc.append("_idKey", value);
writer.reset();
bsonReader.write(writer, new BsonDocumentReader(bsonDoc));
SingleMapReaderImpl mapReader = (SingleMapReaderImpl) writer.getMapVector().getReader();
byte[] readByteArray = mapReader.reader("_idKey").readByteArray();
assertTrue(Arrays.equals(value.getValue().toByteArray(), readByteArray));
}
use of org.bson.BsonDocumentReader in project drill by axbaretto.
the class TestBsonRecordReader method testDateTimeType.
@Test
public void testDateTimeType() throws IOException {
BsonDocument bsonDoc = new BsonDocument();
bsonDoc.append("dateTimeKey", new BsonDateTime(5262729712L));
writer.reset();
bsonReader.write(writer, new BsonDocumentReader(bsonDoc));
SingleMapReaderImpl mapReader = (SingleMapReaderImpl) writer.getMapVector().getReader();
assertEquals(5262729712L, mapReader.reader("dateTimeKey").readDateTime().getMillis());
}
Aggregations