时间:2021-07-01 10:21:17 帮助过:5人阅读
下图将该json转化为bson,首先是一个int32数据,表示了document的长度,然后是e_list(element_list),真正的document数据,最后是\x00结束符。
mongodb使用bson存储一条记录(即document,相当于关系数据库中的行),java客户端中可以使用BsonDocument和Document来表示一条记录。
getCollection时,默认得到的Collection的元素类型是Document,可以向第二个参数传入BsonDocument.class,从而得到元素类型为BsonDocument的Collection。这里的codecRegistry持有client实例中注册过的所有codec,通过codec就可以将bson解析为对应的java对象,比如DocumentCodec、BsonDocumentCodec、BsonValueCodec、BsonArray等。
1 //MongoDatabase的实现 2 @Override 3 public MongoCollection<Document> getCollection(final String collectionName) { 4 return getCollection(collectionName, Document.class); 5 } 6 7 @Override 8 public <TDocument> MongoCollection<TDocument> getCollection(final String collectionName, final Class<TDocument> documentClass) { 9 return new MongoCollectionImpl<TDocument>(new MongoNamespace(name, collectionName), documentClass, codecRegistry, readPreference, 10 writeConcern, readConcern, executor); 11 }
参考:http://www.cnblogs.com/zeliliu/archive/2012/10/01/2708330.html
mongodb-bson
标签:关系 .class span oda public turn 简单 元素 not