使用 ObjectId 保存文档的 PHP 正在转换为 Object->oid
Posted
技术标签:
【中文标题】使用 ObjectId 保存文档的 PHP 正在转换为 Object->oid【英文标题】:PHP saving a document with an ObjectId is being converted to Object->oid 【发布时间】:2021-12-28 21:13:51 【问题描述】:我正在使用$ownership->_id = new MongoDB\BSON\ObjectId($ownership->_id);
保存一些文档,但除了在数据库中保存为ObjectId
之外,它还使用"oid" : "60f98b137af3950d2a7e6c86"
保存为Object
。
它阻止我执行$lookup
,因为它不是另一个集合中文档的ObjectId
。
有人参加过吗?
【问题讨论】:
【参考方案1】:我发现了问题。有人将代码放在我们的 MongoDB 包装器中以将对象转换为数组。因此,MongoDB\BSON\ObjectId
被转换为一个数组,其字符串元素的键为 oid
。
【讨论】:
以上是关于使用 ObjectId 保存文档的 PHP 正在转换为 Object->oid的主要内容,如果未能解决你的问题,请参考以下文章
在 mongoose 中保存时使用 ObjectId 参考文档
Mongoose - 在保存文档之前为每个对象生成 ObjectID
MongoDB PHP:如何使用 JSON 提要获取 ObjectId? (它是空白的)
MongoDB - 尽管没有唯一键集,但尝试保存多个文档会导致模式的 ObjectId 出现重复键错误