标签: pymongo

Pymongo在尝试访问远程服务器时给出了db断言失败

我收到以下错误:

db断言失败,断言:'未授权db:db1锁类型:-1 client:',assertionCode:10057

我可以通过在我的服务器的shell上运行python来访问MongoDB数据库.但是当我尝试访问我的网站时,我得到了这些未经授权的错误.

对此错误的任何修复?

python django mongodb pymongo

0
推荐指数
1
解决办法
1484
查看次数

在pymongo中动态构建查询

我有一个网页,用户可以在地图上查看MongoDB中的数据.我想要几个复选框,单选按钮等来过滤地图上看到的内容.如果我使用MySQL,我会这样做

query = "SELECT * FROM table WHERE x = 1" 
if checkbox == "checked":
  query += "AND WHERE y = 2"
Run Code Online (Sandbox Code Playgroud)

我怎么能用pymongo复制它?

python mongodb pymongo

0
推荐指数
1
解决办法
2521
查看次数

在没有eval()的情况下在pymongo中设置mongo数据库.也许setattr()?

我习惯于在pymongo中这样做,作为访问特定数据库的一种方法:

import pymongo

connection = pymongo.MongoClient()
db = connection.DBNAME
Run Code Online (Sandbox Code Playgroud)

然后,我现在想要能够连接到通过变量命名的数据库,并着眼于循环一系列数据库.所以类似于:

dbname = 'DBNAME'

connection = pymongo.MongoClient()
db = eval('connection.' + dbname)
Run Code Online (Sandbox Code Playgroud)

我被告知eval()偶尔会成为魔鬼,应该避免.如何使用setattr()或其他解决方案执行此操作?就像是...

dbname = 'DBNAME'

connection = pymongo.MongoClient()
db = setattr(connection, '??name??', dbname)
Run Code Online (Sandbox Code Playgroud)

python eval mongodb setattr pymongo

0
推荐指数
1
解决办法
661
查看次数

如何推入嵌套在字典中的数组?

我想创建一个mongodb来存储作业结果,我创建了homework一个存储每个主题的结果数组的字典.

import pymongo

DBCONN = pymongo.Connection("127.0.0.1", 27017)
TASKSINFO = DBCONN.tasksinfo

_name = "john"
taskid = TASKSINFO.tasksinfo.insert(
    {"name": _name,
     "homework": {"bio": [], "math": []}
     })

TASKSINFO.tasksinfo.update({"_id": taskid},
                           {"$push": {"homework.bio", 92}})
Run Code Online (Sandbox Code Playgroud)

当我试图将一些信息推送到db时,出现错误:

Traceback (most recent call last):
  File "mongo_push_demo.py", line 13, in <module>
    {"$push": {"homework.bio", 92}})
  File "/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-i686.egg/pymongo/collection.py", line 479, in update
    check_keys, self.__uuid_subtype), safe)
  File "/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-i686.egg/pymongo/message.py", line 110, in update
    encoded = bson.BSON.encode(doc, check_keys, uuid_subtype)
  File "/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-i686.egg/bson/__init__.py", line 567, in encode
    return cls(_dict_to_bson(document, check_keys, uuid_subtype))
  File "/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-i686.egg/bson/__init__.py", line 476, …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo

0
推荐指数
1
解决办法
1163
查看次数

使用 pymongo 返回 ObjectID 的 .str

我将如何使用 pymongo 仅返回 BSON ObjectId 的字符串组件。我可以通过从 bson.objectid 导入 ObjectId 将字符串编码为对象 ID;但我无法做相反的事情。

当我尝试:

for post in db.votes.find({'user_id':userQuery['_id']}):
            posts += post['_id'].str
Run Code Online (Sandbox Code Playgroud)

我得到一个 ObjectId 没有属性 str 错误。

谢谢!

bson pymongo

0
推荐指数
1
解决办法
9962
查看次数

MongoDB IP地址BETWEEN查询

我正在寻找相当于这个SQL查询的mongo:

SELECT country
FROM geoip
WHERE
2921648058 BETWEEN start AND end
Run Code Online (Sandbox Code Playgroud)

我的MongoDB文档如下所示:

{
        "_id" : ObjectId("52daefed0c78fc8c9085498d"),
        "country" : "DE",
        "end" : "16777471",
        "start" : "16777216"
}
Run Code Online (Sandbox Code Playgroud)

这些数字是转换为int格式的IP地址.不幸的是,关于这一点的所有搜索只出现了$ gt和$ lt运算符,在这种情况下没有多大用处,因为我不想检索范围内某个字段的文档,但文档中的范围很大如果文档本身符合搜索中给定的数字.
由于数据库的庞大规模,浏览所有记录并在脚本中评估结果不是一种选择.

sql ip between mongodb pymongo

0
推荐指数
1
解决办法
647
查看次数

ensure_index with key_or_list

我正在尝试安装这个软件,一些用于在本地mongodb数据库中搜索的脚本:https: //github.com/wimremes/cve-search/blob/master/README.md

由于search.py​​脚本失败了,我试图按照建议添加一些索引:

db.cpe.ensureIndex( {id:1 } )
db.cves.ensureIndex( {id:1} )
db.cves.ensureIndex( {vulnerable_configuration:1} )
db.vfeed.ensureIndex( {id:1} )
Run Code Online (Sandbox Code Playgroud)

但是这段代码不起作用:ensureIndex失败并出现此错误:

File "build/bdist.linux-i686/egg/pymongo/collection.py", line 1672, in __call__
TypeError: 'Collection' object is not callable. If you meant to call the 'ensureIndex' method on a 'Collection' object it is failing because no such method exists.
Run Code Online (Sandbox Code Playgroud)

ensure_index( {id:1})返回此:

TypeError: if no direction is specified, key_or_list must be an instance of list
Run Code Online (Sandbox Code Playgroud)

我怎么做才能获得新指数?

python mongodb pymongo

0
推荐指数
1
解决办法
5407
查看次数

如何使用jinja2,Flask和mongodb以及while循环将数据从数据库传递到html

我对将数据从数据库(mongodb)传递到html感到困惑。

我在“ init .py”中具有使用while逻辑查询数据库的python代码-参见以下代码段:

from pymongo import MongoClient

from flask import Flask, render_template

@app.route("/snapshot")

def pymongo_query():
   db=client.collection
   months=[1,2,3,4,5,6,7,8,9,10,11,12]
   while months:
      mon=months.pop()
      query=list(db.collection.find({args}))
      query=query[0]
      month=query['month']
      item_1=query['item_1']
      item_2=query['item_2']
Run Code Online (Sandbox Code Playgroud)

该代码的作用是它遍历每个月,每个月由列表中的数字表示,并查询数据库中的各个月。我用while循环走了几个月。在Python中,我将在循环结束时使用print输出结果。

如何使用jinja2将数据输出到html中?我想知道我是否需要在jinja中使用while逻辑或将其保留在上面的init .py文件中。

jinja2 mongodb pymongo flask python-3.x

0
推荐指数
1
解决办法
3478
查看次数

MongoClient不可调用,但为什么?

在我的Flask应用程序中我导入了pymongo: from pymongo import MongoClient

然后我调用我的connect_db方法:

db = get_db(connect_db())
Run Code Online (Sandbox Code Playgroud)

编码方法如下:

def connect_db():
    client = MongoClient("localhost", 27017)
    return client

def get_db(client):
    return client(DATABASE)
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误 TypeError: 'MongoClient' object is not callable

我在https://api.mongodb.org/python/current/tutorial.html上找到它

什么原因?

python pymongo flask

0
推荐指数
1
解决办法
1659
查看次数

pymongo:ImportError:没有名为pymongo的模块

我成功安装了pymongo使用 pip3

Aleeshas-MacBook-Air:project 2 aleesha$ sudo pip3 install pymongo
The directory '/Users/aleesha/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/aleesha/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo python-3.x pymongo-3.x

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

pymongo ×10

mongodb ×8

python ×7

flask ×2

python-3.x ×2

between ×1

bson ×1

django ×1

eval ×1

ip ×1

jinja2 ×1

pymongo-3.x ×1

setattr ×1

sql ×1