PyMODM - 查找文档

时间:2017-05-05 16:31:11

标签: django mongodb pymongo pymodm

我正在使用PyModm作为我的Django CRUD应用程序的MongoDB的ORM层。

我创建了一个MongoModel,如下所示:

class Book(MongoModel):
    title = fields.CharField(primary_key=True)
    author = fields.CharField()

要创建和更新文档,pymodm API非常好,但我找不到一种简单的方法来检索一个或多个文档,因为Book.object.all()返回一个似乎只有Json可序列化的QuerySet迭代它时。

所以我找到的解决方法是

books = []
for book in Book.objects.all():
    books.append({
        'title': book.title,
        'author': contact.author
    })
return JsonResponse(books)

通过它的主键检索一本书:

for book in Book.objects.raw({'_id': title}):
    book = {
        'author': book.author,
        'title': book.title
    }
return JsonResponse(book)

然而,这似乎不是一个非常充分也不是很好的方式。有没有更好的方法?

1 个答案:

答案 0 :(得分:1)

也许values()会有所帮助:

books = list(Book.objects.values().all())
book = Book.objects.values().get({'_id': user_id})