在Java中使用get方法时,BSONObject返回什么?

在Java中使用get方法时,BSONObject返回什么?,java,mongodb,hadoop,bson,Java,Mongodb,Hadoop,Bson,假设我有一个像这样的Mongo文档 {''u id':数字长(123), 'sites':[{'One',1},{'Two',2}] } 如果Java中有一个BSONObject映射了这一点,比如说boop,那么如果我返回一个字段值,会返回BSONObject还是转换为Java本机对象 例如,boop.get('sites')将返回表示数组或 Java列表 编辑: Mongo Java驱动程序中的文档说明该方法返回一个对象。我假设它是一个转换过的对象,就像在JSON库中一样,但我想确定一下。如果

假设我有一个像这样的Mongo文档

{''u id':数字长(123),
'sites':[{'One',1},{'Two',2}]
}

如果Java中有一个BSONObject映射了这一点,比如说
boop
,那么如果我返回一个字段值,会返回
BSONObject
还是转换为Java本机对象

例如,
boop.get('sites')
将返回表示数组或 Java
列表

编辑:


Mongo Java驱动程序中的文档说明该方法返回一个对象。我假设它是一个转换过的对象,就像在JSON库中一样,但我想确定一下。

如果我正确理解了你的问题,那么boot.get('sites')的类型将是BasicDBList

db.testing.findOne()
{ "_id" : 1, "x" : [ 1, 2, 3 ] }

db.getCollection("testing").findOne().get("x") instanceof BasicDBList : true

你有关于mongodb文档的参考资料吗?嗨,谢谢你的回答。我知道在哪里可以找到BasicDBList的API文档。我想知道
.get()
是否会在某个地方返回BasicDBList。在这种情况下(以及其他情况下,如字符串、int、double等),findOne()的返回值始终是BasicDBObject。此BasicDBObject上的函数get()可以返回任何对象,即已保存的对象。在上面的示例中,我知道,“x”键存储的是一个列表,当BSON被更改为java对象时,它是一个基本列表。