PyMODM - 查找文档

PyMODM - Find Document(s)

我将 PyModm 用作我的 Django CRUD 应用程序 MongoDB 的 ORM 层。

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

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

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

所以我找到的解决方法是

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)

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

也许values()会有所帮助:

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