フレンド リスト (オブジェクト ID のリスト) と検索クエリがあります。検索クエリのように名前が始まる友達を検索したい。map/reduce を使用する必要があることはわかりますが、その方法については考えていません。
class UserAccount(Document):
first_name = StringField(max_length = 20)
last_name = StringField(max_length = 20)
user_name = StringField(max_length = 20)
email = EmailField()
password = StringField(max_length = 20)
friends = ListField(ReferenceField('self'))
# List Of Friends IDs
friends = [ObjectId("5278a1821d41c80d7a3ed4ec"), ObjectId("5278a1821d41c80d7a3ed4fe"),
ObjectId("5278a1821d41c80d7a3ed4aa"), ObjectId("5278a1821d41c80d7a3ed4bb")]
# Assume a search query.
search_query = 'some-name'
regex = re.compile('^' + re.escape(search_query))
users = UserAccount._get_collection()
result = users.find(
{
"_id" : friends[0],
"first_name" : regex
})
ヘルプや参考文献をいただければ幸いです。