首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Studio3t中的查询与它们与Pymongo的等价查询之间的区别?

Studio3t中的查询与它们与Pymongo的等价查询之间的区别?
EN

Stack Overflow用户
提问于 2017-05-29 12:12:01
回答 1查看 540关注 0票数 2

我有一个带有集合users id,...,subscribedFlux的数据库。每个id可以有几个subscribedFlux,我想知道订阅了多少Flux。该查询在Studio3t中运行良好,提供了预期的结果:

当我用Pymongo做这件事时,我什么也得不到:

代码语言:javascript
复制
:~$ 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))

下面是我使用的脚本(我隐藏了数据库地址):

代码语言:javascript
复制
#! /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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-29 13:11:10

您不应该将“未知”选项传递给您的MongoDB URI,就像您目前在3t.databases3t.uriVersion等方面所做的那样。相反,尝试如下:

代码语言:javascript
复制
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}}}
    ]
)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44242196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档