我有一個數據庫集合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/) –