遇到问题--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查询不到数据

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

在 mongodb python 上根据日期上传和过滤年龄

如何关闭 mongodb python 连接?

[MongoDB]Python 操作 MongoDB

mongodb——python的交互