我对 Pymongo 的 find_one 函数有一个奇怪的问题。我在本地机器上托管了一个名为“cluster_db”的数据库。它有一个名为“集群”的集合。当我在 mongo shell 中运行查询时,我得到以下输出。
> db
cluster_db
> db.clusters.findOne({_id:-8488068664808428000})
{
"_id" : NumberLong("-8488068664808427924"),
"members" : [
{
"participationCoeff" : 1,
"tweetID" : NumberLong("-8488068664808427924")
}
]
}
>
现在,在我的代码初始化阶段,我在模块“dbutil”中定义了一个常量,如下所示:
DB_CONNECTION = MongoClient('localhost', 27017)
CLUSTER_DB_HANDLE = DB_CONNECTION['cluster_db']
在此之后,在一个函数中,我正在进行以下调用。
dbutil.CLUSTER_DB_HANDLE.clusters.find_one({'_id':clusterID})
但是,上述调用始终返回“无”。如果我去 MongoShell 并使用相同的 clusterID 运行完全相同的查询,我会看到结果。
我知道这是一个奇怪的错误,但不知何故我无法弄清楚为什么会这样。在其他任何地方,我都能够使用 dbutil.CLUSTER_DB_HANDLE.clusters 成功调用 cluster_db 中的“集群”集合