你好,
我在理解某些东西时遇到了问题,或者它被窃听了。
开始吧。 以下是有关 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。
+1
使用教义 mongodb odm 的 php 应用程序面临同样的问题。 目前我不能将我已经存在的数据库与 mongoose 一起使用,因为 mongodb DBRefs 对象不用于存储引用。
也许应该添加另一种模式类型(Schema.DBRef?)?
这将使用给定的信息加载文档。
仍然没有任何 Mongoose 开发人员在这个问题上提供意见? 这是一个反复出现的问题,当您有多个驱动程序写入和读取同一个数据库时,它会不断出现。
Node 驱动程序确实支持 DBRefs,我觉得奇怪的是 Mongoose 仍然不支持它。
支持 DBRefs 进行填充并不是真正的高优先级,因为MongoDB 文档建议不要使用 dbref 。 您始终可以自己进行查询。
最有用的评论
仍然没有任何 Mongoose 开发人员在这个问题上提供意见? 这是一个反复出现的问题,当您有多个驱动程序写入和读取同一个数据库时,它会不断出现。
Node 驱动程序确实支持 DBRefs,我觉得奇怪的是 Mongoose 仍然不支持它。