遇到问题--mongodb---python---pymongo通过_id查询不到数据
Posted 张小凡vip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遇到问题--mongodb---python---pymongo通过_id查询不到数据相关的知识,希望对你有一定的参考价值。
情况
pymongo通过_id查询不到数据
正常使用的pymongo查询语句如下:
id="600bcb89436877002d001eaa"
import pandas as pd
from pymongo import *
client = MongoClient(\'mongodb://root:password@mongodb.mydb.com:3717/mydb\')
db = client[\'mydb\']
db_collection = db[\'comment\']
results = []
for comment in db_collection.find("_id":id):
_id=comment.get("_id", None).__str__()
userId = comment.get("userId", None)
results.append((_id,userId))
df_comment = pd.DataFrame(results, columns=[\'_id\',\'userId\'])
df_comment.head(3)
但是这样查询 查不出数据来
db_collection为空
原因
mongodb中_id的类型是ObjectId,不是字符串,如果我们使用字符串作为查询的值,会对应不到相关的数据。
解决方案
把id字符串转换为 ObjectId后再进行查询。
主要使用的语句如下:
from bson import ObjectId
oid = ObjectId(id)
以上是关于遇到问题--mongodb---python---pymongo通过_id查询不到数据的主要内容,如果未能解决你的问题,请参考以下文章
遇到问题--mongodb---python---pymongo通过_id查询不到数据