标签: couchdb-python

金字塔资源:用简单的英语

我一直在阅读有关实现授权(和身份验证)到我新创建的Pyramid应用程序的方法.我不断碰到名为"资源"的概念.我在我的应用程序中使用python-couchdb而根本不使用RDBMS,因此没有SQLAlchemy.如果我像这样创建一个Product对象:

class Product(mapping.Document):
  item = mapping.TextField()
  name = mapping.TextField()
  sizes = mapping.ListField()
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这是否也被称为资源?我一直在阅读金字塔的整个文档,但没有在哪里用简单的英语解释术语资源(也许我只是愚蠢).如果这是资源,这是否意味着我只是将我的ACL内容粘贴在这里:

class Product(mapping.Document):
  __acl__ = [(Allow, AUTHENTICATED, 'view')]
  item = mapping.TextField()
  name = mapping.TextField()
  sizes = mapping.ListField()

  def __getitem__(self, key):
      return <something>
Run Code Online (Sandbox Code Playgroud)

如果我也使用Traversal,这是否意味着我在我的python-couchdb产品类/资源中添加了getitem函数?

对不起,这真的让所有新条款感到困惑(我来自Pylons 0.9.7).

提前致谢.

python pyramid couchdb-python

9
推荐指数
1
解决办法
713
查看次数

couchdb-python更改通知

我正在尝试使用couchdb.py来创建和更新数据库.我想实现通知更改,最好是在连续模式下.运行下面发布的测试代码,我没有看到更改方案如何在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) …
Run Code Online (Sandbox Code Playgroud)

python couchdb couchdb-python

8
推荐指数
1
解决办法
2886
查看次数

如何确定CouchDB数据库的所有可能密钥?

我正在创建一个应用程序,对于每个产品,我有一个数据库,我将根据日期创建不同的文档.文档中的密钥可能不同,取决于用户,他提供的内容.假设是用户将继续提供相同的密钥以跟踪随时间变化的值.最后,在创建自动视图之前,我需要知道所有可能的键.

示例:如果我有DB,比如说,测试.它包含两个文件,

1. {
 "_id":"1",
 "_rev":"1-"
 "type": "Note",
 "content": "Hello World!"
}

2. {
 "_id":"2",
 "_rev":"1-"
 "type": "Note",
 "content": "Beyond Hello World!",
 "extra":"Boom"
}

然后我想列出此DB中的所有密钥.所以,答案应该是_id,_rev,type,content和extra.

这些密钥是动态的,取决于用户.所以,我不能认为我提前知道了.

couchdb couchdb-python

4
推荐指数
1
解决办法
1040
查看次数

如何检查数据库是否已经存在

我正在编写一个将一些文档加载到 couchdb 的小型 Python 程序。检查具有特定名称的数据库是否已经存在会非常方便,因此我可以创建一个新数据库或打开现有数据库。我想做的是这样的:

import couchdb

def connect(url, dbName):
    server = couchdb.Server(url)
    if dbName exists: # how do I do this?
        return server[dbName]
    else:
        return server.create(dbName)
Run Code Online (Sandbox Code Playgroud)

我知道 try-except 块可以解决问题,但是没有更优雅的方法吗?

python couchdb couchdb-python

3
推荐指数
1
解决办法
2917
查看次数

Couchdb,返回文档数

我该怎么做这个简单的事情,我只想要数据库中的文档数。到目前为止,我在 python 中使用循环函数来执行此操作,但这似乎是一种令人难以置信的低效方法。Fauton 会在页面底部告诉您有多少文档,请问我如何在 python 或 javascript 中获得这个数字?

couchdb couchdb-python

2
推荐指数
2
解决办法
3845
查看次数

标签 统计

couchdb-python ×5

couchdb ×4

python ×3

pyramid ×1