python 插入数据到mongodb却查询不到数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 插入数据到mongodb却查询不到数据相关的知识,希望对你有一定的参考价值。

最近开始学python ,希望大神帮助

pyyhon 代码
#-*-coding:utf8-*-import pymongoconnection = pymongo.MongoClient()tdb = connection.Jikexueyuanpost_info = tdb.testjike = 'name':u'极客', 'age':'5', 'skill': 'Python'god = 'name': u'玉皇大帝', 'age': 36000, 'skill': 'creatanything', 'other': u'王母娘娘不是他的老婆'godslaver = 'name': u'月老', 'age': 'unknown', 'other': u'他的老婆叫孟婆'post_info.user.insert(jike)

其中用mongovue 查看结果没有插入

参考技术A

    看下程序是否报错,最好try catch 用logging exception把报错详细信息打出来

    有没有提交

    插入的数据有没有超过字段最大值

遇到问题--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) 

以上是关于python 插入数据到mongodb却查询不到数据的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB中,Query查询,这条查询语句不知道为啥总是获取不到值。在VUE中使用find是完全可以的。求解?

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

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

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

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

python连接python和MongoDB完成总数据条数查询