我正在学习monogoDB,我是初学者,但我遇到了一些错误。我的编码错误是什么,并告诉我解决方案?
import uuid
from database import Database
import datetime
class Post (object):
def __init__(self,blog_id,title,content,author,date=datetime.datetime.utcnow(),id=None):
self.blog_id=blog_id
self.title=title
self.content=content
self.author=author
self.created_date=date
self.id=uuid.uuid4().hex if id is None else id
def save_to_mongo(self):
Database.insert(collection='students',data=self.json())
def json(self):
return {
'id':self.id,
'blog_id':self.blog_id,
'author':self.author,
'content':self.content,
'title':self.title,
'created_date':self.created_date
}
@staticmethod
def from_mongo(id):
return Database.find_one(collection='students',query={'id':id})
@staticmethod
def from_blog(id):
return [post for post in Database.find(collection='students',query={'blog_id':id})]
import pymongo
class Database(object):
URI="mongodb//127.0.0.1:27017"
DATABASE=None
@staticmethod
def initialize():
client=pymongo.MongoClient(Database.URI)
Database.DATABASE=client['local']
@staticmethod
def insert(collection,data):
Database.DATABASE[collection].insert(data)
@staticmethod
def insert(collection,query):
return Database.DATABASE[collection].find(data)
@staticmethod
def insert(collection,query):
return Database.DATABASE[collection].find_one(data)
from database import Database
from post import Post
Database.initialize()
post=Post(blog_id="123",title="Anoother great post",content="This is some
sample content",author="rahul")
post.save_to_mongo()
[Running] python "d:\myprograms\python\test.py"
Traceback (most recent call last):
File "d:\myprograms\python\test.py", line 9, in <module>
post.save_to_mongo()
File "d:\myprograms\python\post.py", line 15, in save_to_mongo
Database.insert(collection='students',data=self.json())
TypeError: insert() got an unexpected keyword argument 'data'