我有一个带有集合users id,...,subscribedFlux的数据库。每个id可以有几个subscribedFlux,我想知道订阅了多少Flux。该查询在Studio3t中运行良好,提供了预期的结果:
当我用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:swiper_read@3...ESCONDIDO')
db = MongoClient().aggregation_example
cursor = db.users.aggregate(
[
#{"$match": {"subscribedFlux": { "$exists": "true" }}},
{"$group": {"_id": "$subscribedFlux", "count": {"$sum": 1}}}
]
)
for document in cursor:
print (document)发布于 2017-05-29 13:11:10
您不应该将“未知”选项传递给您的MongoDB URI,就像您目前在3t.databases、3t.uriVersion等方面所做的那样。相反,尝试如下:
client = MongoClient('mongodb://user:pass@ip:port/') # pass just these options
db = client.DATABASE_NAME # or client['DATABASE_NAME']
cursor = db.TABLE_NAME.aggregate(
[
#{"$match": {"subscribedFlux": { "$exists": "true" }}},
{"$group": {"_id": "$subscribedFlux", "count": {"$sum": 1}}}
]
)https://stackoverflow.com/questions/44242196
复制相似问题