mongodb通过ID查询为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb通过ID查询为空相关的知识,希望对你有一定的参考价值。

db.test.find({"_id":"5349b4ddd2781d08c09890f4"})
结果数据为空。
test为集合collection

解决方法:值中加入ObjectId
db.test.find({"_id":ObjectId("5349b4ddd2781d08c09890f4")})

总结:MongoDB中存储的文档必须有一个"_id"键。默认是个ObjectId对象
MongoDB采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因,因为在多个 服务器上同步自动增加主键值既费力还费时。

ObjectId的结构如下:
ObjectId 是一个12字节 BSON 类型数据,有以下格式:
前4个字节表示时间戳
接下来的3个字节是机器标识码
紧接的两个字节由进程id组成(PID)
最后三个字节是随机数。

参考地址:https://blog.csdn.net/u010953880/article/details/85089098

以上是关于mongodb通过ID查询为空的主要内容,如果未能解决你的问题,请参考以下文章

用PHP查询mongo数据时,条件是某个字段(A为数组)不为空,但是有的记录中并没有字段A,这个条件怎么写?

遇到问题--mongodb---python---pymongo通过_id查询不到数据

遇到问题--mongodb---python---pymongo通过_id查询不到数据

遇到问题--mongodb---python---pymongo通过_id查询不到数据

遇到问题--mongodb---python---pymongo通过_id查询不到数据

Mongodb $lookup 不使用 _id