Subquerying具有示例代碼:在MongoEngine
import mongoengine as mongo
class User(mongo.Document):
name = mongo.StringField()
age = mongo.IntField()
class Post(mongo.Document):
title = mongo.StringField()
author = mongo.ReferenceField(User)
我想通過用戶低於30歲創建的所有帖子,一個方法是使請求在兩個步驟:
users = User.objects(age__lt=30)
posts = Post.objects(author__in=users)
但即使這樣也不完全錯誤,它會不必要地調用並連接到數據庫N次。所以我想在只需一個步驟查詢時,我想:
posts = Post.objects(author__age__lt=30)
但不起作用,它只是返回我一個空列表,而不是一個錯誤。我究竟做錯了什麼?
Ross在MongoEngine中有這個功能嗎?肯定會有用的。謝謝。 – Sid 2012-02-26 20:38:38