gpt4 book ai didi

MongoDB - 手动创建带引用的对象 - DBRef 不起作用

转载 作者:可可西里 更新时间:2023-11-01 09:32:10 25 4
gpt4 key购买 nike

出于测试目的,我需要在 MongoDB 中手动创建一些对象。我的类(class)有一个到另一个类(class)的引用字段。引用的对象已经存在。

我试图将现有对象的 Mongo-ID 作为值放入新对象中,但出现以下错误:

A ReferenceField only accepts DBRef: ['attribute'])

现在我的问题是:我从哪里得到或找到这个 DBRef


一个例子:我的数据库中有一个用户。我想创建一个以现有用户为 "creator" 的组。当我将用户 ID 放入创建者字段时,出现错误...

编辑:

我刚找到这个链接 MongoDB - DBRef但该解决方案对我不起作用...

item : {"$ref" : "fruit", "$id" : "1"}

我的代码是这样的:

{ "name" : "MyGroup", "created_at" : "2011-05-22T00:46:38", "creator": { "$ref": "user", "$id": "501bd5ac32f28a1278e54435" } }

另一个编辑:

甚至 Mongo 文档也说我使用了正确的格式... http://www.mongodb.org/display/DOCS/Mongo+Extended+JSON .但还是不行。

最佳答案

question you referenced ,用户使用数字字符串作为他们的文档 ID。在您的情况下,看起来您正在使用更常见的 ObjectId 但将其作为字符串插入。假设您使用的是 PyMongo,您可能想使用 ObjectId DBRef$id 属性的类.

如果您知道所有此类引用都将指向同一个数据库和集合,那么使用手动引用(仅存储目标文档的 _id)而不是 DBRef 对象可能更有意义。这在 Database References documentation 中有更详细的解释。 .

关于MongoDB - 手动创建带引用的对象 - DBRef 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com