Java 这种情况会是mongodb服务器吗;什么虫子?

Java 这种情况会是mongodb服务器吗;什么虫子?,java,mongodb,Java,Mongodb,今天,我尝试使用$db将DBRef设置为集合 但服务器说:“不允许存储”,所以操作失败 注:我的mongod版本是2.2 { "ts" : ISODate("2013-01-16T14:05:42.814Z"), "op" : "update", "ns" : "mydb.coll1", "query" : { "_id" : NumberLong("928686353793211381") }, "updateobj" : { "$set" : {

今天,我尝试使用
$db
将DBRef设置为集合

但服务器说:“不允许存储”,所以操作失败

注:我的
mongod
版本是2.2

{
  "ts" : ISODate("2013-01-16T14:05:42.814Z"),
  "op" : "update",
  "ns" : "mydb.coll1",
  "query" : {
    "_id" : NumberLong("928686353793211381")
  },
  "updateobj" : {

    "$set" : {
    "ref" : {
      "$db" : "db2",
      "$ref" : "coll2",
      "$id" : NumberLong("928686353793211381")
      }
    }
  },
  "nscanned" : 1,
  "keyUpdates" : 0,
  "numYield" : 0,
  "lockStats" : {
    "timeLockedMicros" : {
      "r" : NumberLong(0),
      "w" : NumberLong(200)
    },
    "timeAcquiringMicros" : {
      "r" : NumberLong(0),
      "w" : NumberLong(5)
    }
  },
  "exception" : "not okForStorage",
  "exceptionCode" : 12527,
  "millis" : 0,
  "client" : "10.168.89.9",
  "user" : ""
}
根据,DBRef中字段的顺序很重要;因此,您需要将
ref
对象重新排序为:

"ref" : {
  "$ref" : "coll2",
  "$id" : NumberLong("928686353793211381"),
  "$db" : "db2"
}