Mongoose: DBRefs 的问题 - 错误的实现?

创建于 2014-01-28  ·  3评论  ·  资料来源: Automattic/mongoose

你好,

我在理解某些东西时遇到了问题,或者它被窃听了。

开始吧。 以下是有关 DBRefs 的文档:
http://docs.mongodb.org/manual/reference/database-references/#dbrefs

他们为参考文件编写的结构应该是:

{
  "_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
  // .. application fields
  "creator" : {
                  "$ref" : "creators",
                  "$id" : ObjectId("5126bc054aed4daf9e2ab772"),
                  "$db" : "users"
               }
}

现在让我们看一下这个例子(example1):
https://gist.github.com/hastebrot/1170907

当我运行这段代码时,我有类似的东西:
故事:

    "title": "A man who cooked Nintendo",
    "_creator": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "_id": {
        "$oid": "52e7dceb3d9cd59c13702e3e"
    },
    "fans": [],
    "__v": 0

人们:

    "name": "Aaron",
    "age": 100,
    "_id": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "stories": [],
    "__v": 0

问题

在我们的团队中,我们有一个用 Java 编写的小型应用程序,它使用 MongoDB 库,但是这个库像 MongoDB 文档一样保存数据:

....//other fields
"user": {
        "$ref": "users",
        "$id": {
            "$oid": "52c6c497c08e6fcf37000001"
        }
    }

而且我无法填充数据,因为它似乎只适用于猫鼬实现。

如果我错了,请纠正我,但对我来说,就像你没有像文档中描述的那样保存 DBRef。

new feature

最有用的评论

仍然没有任何 Mongoose 开发人员在这个问题上提供意见? 这是一个反复出现的问题,当您有多个驱动程序写入和读取同一个数据库时,它会不断出现。

Node 驱动程序确实支持 DBRefs,我觉得奇怪的是 Mongoose 仍然不支持它。

所有3条评论

+1
使用教义 mongodb odm 的 php 应用程序面临同样的问题。 目前我不能将我已经存在的数据库与 mongoose 一起使用,因为 mongodb DBRefs 对象不用于存储引用。
也许应该添加另一种模式类型(Schema.DBRef?)?
这将使用给定的信息加载文档。

仍然没有任何 Mongoose 开发人员在这个问题上提供意见? 这是一个反复出现的问题,当您有多个驱动程序写入和读取同一个数据库时,它会不断出现。

Node 驱动程序确实支持 DBRefs,我觉得奇怪的是 Mongoose 仍然不支持它。

支持 DBRefs 进行填充并不是真正的高优先级,因为MongoDB 文档建议不要使用 dbref 。 您始终可以自己进行查询。

此页面是否有帮助?
0 / 5 - 0 等级