情况
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,不是字符串&#
在使用Pymongo查询MongoDB时,如果直接通过_id字段(字符串形式)进行查询,可能会查不到数据。原因是_id在数据库中存储为ObjectId类型。为解决此问题,需要将字符串_id转换为ObjectId类型再进行查询。具体解决方案是在查询语句中使用`ObjectId(id)`将字符串转换为ObjectId对象。
订阅专栏 解锁全文
1385

被折叠的 条评论
为什么被折叠?



