gpt4 book ai didi

python - 使用 find_one (pymongo) 获取文档

转载 作者:可可西里 更新时间:2023-11-01 10:52:14 25 4
gpt4 key购买 nike

我有这样一个文档结构:

{
"_id": "106.xxx.xxx.xxx",
"maxAge": 48,
"origin": "some_origin",
"time": "2016-07-04 11:41:47"
}

_id 包含一个 IP 地址,我想通过 pymongo 的 find_one 函数获取它。我这样调用它:

return (self.posts.find_one({"_id": ip}))

它只返回“无”,因为它没有找到文档。有什么想法吗?

编辑:我也试过这样调用它:

return (self.posts.find_one({"_id": str(ip)}))

更多信息:我在 docker 容器中运行了一个名为“vpn_service”的数据库。该集合也被命名为“vpn_service”。

首先我尝试像这样初始化 Mongoclient:

def __init__(self, host, port):
self.client = MongoClient(host=host, port=port)
self.db = self.client.vpn_service
self.posts = self.db.posts

我也试过这个:

def __init__(self, host, port):
self.client = MongoClient(host=host, port=port)
self.db = self.client.vpn_service
self.collection = self.db.vpn_service
self.posts = self.collection.posts

因为 posts.find_one() 也没有找到任何东西,这可能是连接问题。

最佳答案

这意味着它找不到文档。

确保文档存在并且您正在查询正确的类型 - 字符串。

同时测试你的 pymongo 连接(用你的改变我的值):

from pymongo import MongoClient
client = MongoClient('localhost')
db_name = 'test_db'
db = client[db_name]
collection_name = 'test_collection'
collection = db[collection_name]
print collection

打印结果:

Collection(Database(MongoClient('localhost', 27017), u'test_db'), u'test_collection')

关于python - 使用 find_one (pymongo) 获取文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38199241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com