我有一个数据库集合users
id,...,subscribedFlux
。每个id
可以有几个subscribedFlux
,我想知道多少Flux
已订阅。查询与Studio3t行之有效给出预期的结果:Studio3t中的查询和它们与Pymongo等效的区别?
当我做它用Pymongo,我没有得到任何东西:
:~$ python testMongoDB.py
/home/antoine/anaconda2/lib/python2.7/site-packages/pymongo/common.py:555: UserWarning: Unknown option 3t.databases
warnings.warn(str(exc))
/home/antoine/anaconda2/lib/python2.7/site-packages/pymongo/common.py:555: UserWarning: Unknown option 3t.uriVersion
warnings.warn(str(exc))
/home/antoine/anaconda2/lib/python2.7/site-packages/pymongo/common.py:555: UserWarning: Unknown option 3t.connectionMode
warnings.warn(str(exc))
/home/antoine/anaconda2/lib/python2.7/site-packages/pymongo/common.py:555: UserWarning: Unknown option 3t.connection.name
warnings.warn(str(exc))
这里是我使用的脚本(我已经隐藏了数据库地址):
#! /usr/bin/python
import pymongo
import datetime
import pprint
from pymongo import MongoClient
client = MongoClient('mongodb://swiper_read:[email protected]')
db = MongoClient().aggregation_example
cursor = db.users.aggregate(
[
#{"$match": {"subscribedFlux": { "$exists": "true" }}},
{"$group": {"_id": "$subscribedFlux", "count": {"$sum": 1}}}
]
)
for document in cursor:
print (document)
你能告诉我们你的其他代码吗?你是如何定义你的'db'变量的? – errata
@errata我提供了缺少的东西,并注意到我写了'用户'而不是餐厅的集合名称。但它不影响提供的结果。 –
@errata我想,我隐藏了一些部分,因为我认为这是明智的。至少它是我在使用studio3t在“连接”中的“导入URI”选项中连接到它时使用的。这是一个只读的在线。也许有另外一个呢?我成功地使用了[docs.mongodb.com]提供的示例数据库和查询(https://docs.mongodb.com/getting-started/python/aggregation/) –