gpt4 book ai didi

Mongodb findOne 不起作用

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

我是第一次使用 Mongodb,我遇到了一个非常奇怪的错误。我有一个“游戏”集合,但我无法使用 _id 查询对其进行搜索。

我直接在 mongo shell 上尝试,结果如下:

> db.games.count()
0
> db.games.insert({created:'ok'})
WriteResult({ "nInserted" : 1 })
> db.games.find()
{ "_id" : ObjectId("54f7364d1f2f9378d7a5ddde"), "created" : "ok" }
> db.games.findOne({_id:'54f7364d1f2f9378d7a5ddde'})
null
> db.games.find({_id:'54f7364d1f2f9378d7a5ddde'})
>

我真的不知道这是怎么回事?我在想 _id 上的一个奇怪的索引,但我什么也没找到。

> db.games.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "cobra.games"
}
]
>

这也许能帮到你

> db.version()
2.6.5

有人有想法吗?

最佳答案

尝试:

db.games.find({"_id" : ObjectId("54f7364d1f2f9378d7a5ddde")})

存储在键 _id 中的数据类型是 ObjectId,您正在搜索一个字符串。所以你的类型不匹配。 MongoDB 没有将 String 自动转换为 ObjectId。如果您将数字存储为 Long 但在查询中输入了 Integer,也会发生此错误。

关于Mongodb findOne 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860198/

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