与pymongo的奇怪问题,每个查询总是得到NoNe

时间:2017-02-25 17:58:29

标签: python mongodb pymongo

我无法弄清楚这段代码的问题。我的数据库正确初始化,我知道因为插入方法有效 - 我看到插入出现在服务器的mongo shell中。但是,由于某种原因,find方法总是返回None。

import pymongo

class Database(object):

url = "mongodb://192.168.2.104:27017"
DATABASE = None

@staticmethod
def initialize():
    client = pymongo.MongoClient(Database.url)
    Database.DATABASE = client["fullstack"]

@staticmethod
def insert(collection, data):
    Database.DATABASE[collection].insert(data)

@staticmethod
def find(collection, query):
    Database.DATABASE[collection].find(query)

现在假设我的“posts”集合中有一条记录,其属性为“blog_id”:“123” - 我知道因为当我执行db.posts.find({“blog_id”:“123”})时它会弹出在mongo shell中。然而,

from database import Database
Database.initialize()

post = Database.find("posts", {"blog_id": "123"})

for x in post:
    print x

此代码始终返回None。这可能会出错?我在一个只有终端ubuntu的远程虚拟机中运行mongo。代码问题?或者我的VM服务器中是否存在读权限问题?提前致谢

0 个答案:

没有答案