6. BSONデータの作成
(in Java MongoDB Driver)
val bson1 = new BsonDocument()
.append("id", new BsonInt64(1))
.append("name", new BsonString("Aoino"))
.append("address", new BsonArray(Arrays.asList(
new BsonString("Tokyo"),
new BsonString("Ibaraki")))
val bson2 = new BsonArray(Arrays.asList(
new BsonInt32(1),
new BsonInt32(2),
new BsonInt32(3)))
7. BSONの操作
(in Java MongoDB Driver)
scala> val reader = new BsonDocumentReader(bison1)
reader: org.bson.BsonDocumentReader = org.bson.BsonDocumentReader@2d81357d
scala> reader.readStartDocument()
scala> reader.readName()
res33: String = id
scala> reader.readInt64()
res34: Long = 1
scala> reader.readString() // あっ、readName()忘れた!
res35: String = Aoino
scala> reader.readName()
res36: String = address
scala> reader.readString() // BsonArrayに対してreadString()呼んじゃった!
org.bson.BsonInvalidOperationException: readString can only be called when
CurrentBSONType is STRING, not when CurrentBSONType is ARRAY.
at org.bson.AbstractBsonReader.verifyBSONType(AbstractBsonReader.java:655)
at org.bson.AbstractBsonReader.checkPreconditions(AbstractBsonReader.java:687)
at org.bson.AbstractBsonReader.readString(AbstractBsonReader.java:428)
... 43 elided