gpt4 book ai didi

mongodb - 如何查询不是 ObjectId 类型的 _id

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

(我是 mongo 的新手)

如何查询不是 ObjectId 类型的 _id?

我 mongorestore 了一个 mongodump,但无法根据 id 字段获得任何结果。一段时间后我注意到集合中的记录不符合 ObjectID 类型。

"_id": "7409a2ab-322e-40f3-b991-c3ebeda78f61",

如果我将 id 更改为 id:"5c47422231caf0939f3d7cc7" 那么我的查询将正常工作,因为它与 ObjectID 类型匹配。

我一直收到 CastError: Cast to ObjectId failed for value "f7757753-c450-42f9-b0f9-9a617628fcfa"at path "_id"for model "mydb"

我试过查询 mydb.findById({ _id: 'f7757753-c450-42f9-b0f9-9a617628fcfa' })mydb.findOne({ _id: 'f7757753-c450 -42f9-b0f9-9a617628fcfa' mydb.findOne({ _id: 'f7757753-c450-42f9-b0f9-9a617628fcfa' }

还尝试将 ObjectId 转换合并到我的查询中,如下所示:{ _id: ObjectId("f7757753-c450-42f9-b0f9-9a617628fcfa") }

最佳答案

在您的模型中,您说您将对象 ID 作为 ID 的数据类型,对吗?所以用这个的时候尖叫cast error是正常的

7409a2ab-322e-40f3-b991-c3ebeda78f61

作为_id ..所以你需要改变你的模型(实际上是模式),如果id是一个字符串而不是一个对象id,你的类型

{
_id : String,
blah,
blah,
blah,
}

关于mongodb - 如何查询不是 ObjectId 类型的 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372416/

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