使用 mongo-2.8.0.jar,我想获取另一个数据库的 db-reference。但是代码(Groovy)
def ref = new DBRef(db,"mails",id)
println ref
打印类似:
{ "$ref" : "mails", "$id" : "50211d8e44ae1f34b4f4b3bd" }
并且没有 $db 存储在数据库中!
如何强制 Java Mongo 驱动程序保存 $db ?
使用 mongo-2.8.0.jar,我想获取另一个数据库的 db-reference。但是代码(Groovy)
def ref = new DBRef(db,"mails",id)
println ref
打印类似:
{ "$ref" : "mails", "$id" : "50211d8e44ae1f34b4f4b3bd" }
并且没有 $db 存储在数据库中!
如何强制 Java Mongo 驱动程序保存 $db ?
Java 驱动程序不支持可选的 $db 字段,如 MongoDB文档中所述。并非所有驱动程序都支持 $db 字段。Java 驱动程序假定集合与存储引用的文档位于同一数据库中。
DBRef 的 DB 对象存储为 DBRef 的父类 DBRefBase 的私有成员,并且可以通过 getDB() 访问。你只需要调用 ref.getDB()