Tôi đang cố gắng sử dụng couchdb.py để tạo và cập nhật cơ sở dữ liệu. Tôi muốn thực hiện thay đổi thông báo, tốt nhất là ở chế độ liên tục. Chạy mã thử nghiệm được đăng bên dưới, tôi không thấy cách lược đồ thay đổi hoạt động trong python.thông báo thay đổi couchdb-python
class SomeDocument(Document):
#############################################################################
# def __init__ (self):
intField = IntegerField()#for now - this should to be an integer
textField = TextField()
couch = couchdb.Server('http://127.0.0.1:5984')
databasename = 'testnotifications'
if databasename in couch:
print 'Deleting then creating database ' + databasename + ' from server'
del couch[databasename]
db = couch.create(databasename)
else:
print 'Creating database ' + databasename + ' on server'
db = couch.create(databasename)
for iii in range(5):
doc = SomeDocument(intField=iii,textField='somestring'+str(iii))
doc.store(db)
print doc.id + '\t' + doc.rev
something = db.changes(feed='continuous',since=4,heartbeat=1000)
for iii in range(5,10):
doc = SomeDocument(intField=iii,textField='somestring'+str(iii))
doc.store(db)
time.sleep(1)
print something
print db.changes(since=iii-1)
Giá trị
db.changes(since=iii-1)
thông tin lợi nhuận này rất hấp dẫn, nhưng trong một định dạng mà từ đó tôi đã không làm việc ra làm thế nào để trích xuất các chuỗi hoặc sửa đổi số, hoặc các thông tin tài liệu:
{u'last_seq': 6, u'results': [{u'changes': [{u'rev': u'1-9c1e4df5ceacada059512a8180ead70e'}], u'id': u'7d0cb1ccbfd9675b4b6c1076f40049a8', u'seq': 5}, {u'changes': [{u'rev': u'1-bbe2953a5ef9835a0f8d548fa4c33b42'}], u'id': u'7d0cb1ccbfd9675b4b6c1076f400560d', u'seq': 6}]}
trong khi đó, các mã tôi thực sự quan tâm đến việc sử dụng:
db.changes(feed='continuous',since=4,heartbeat=1000)
Trả về một đối tượng máy phát điện và không xuất hiện để cung cấp thông báo khi họ đi vào, như CouchDB guide gợi ý ....
Có ai sử dụng thay đổi trong couchdb-python thành công?
Thêm vào các vấn đề này, khi sử dụng với máy chủ từ xa (ví dụ: Cloudant) bị ném cho chỉnh sửa 'từ' oparg .... - điều này có vẻ là do cloudant không lưu trữ bản sửa đổi dưới dạng số nguyên, thay vì chuỗi, làm cho đối số càng trở nên khó hiểu hơn! – radpotato