0

Flask と PyMongo を使用して趣味のアプリを作成し、mongodb レコードをブラウザーでレンダリングしています。

これはウィキペディアの編集のデータベースであり、レコードは次のようになります。

{
    "_id" : ObjectId("4ff1c0d0dec94126a2000000"),
    "image" : "http://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Us_declaration_independence_signatures.jpg/350px-Us_declaration_independence_signatures.jpg",
    "unvandalism" : "<div>:<span class=\"diffchange diffchange-inline\">53</span>.  [[Arthur Middleton]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">54</span>.  [[Button Gwinnett]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">55</span>.  [[Lyman Hall]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">56</span>.  [[George Walton]]</div>",
    "delta" : 0,
    "date" : ISODate("2012-07-02T00:44:57.781Z"),
    "offender" : "24.119.187.78",
    "reverter" : "Chillin411",
    "anon" : true,
    "vandalism" : "<div>:<span class=\"diffchange diffchange-inline\">54</span>.  [[Arthur Middleton]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">55</span>.  [[Button Gwinnett]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">56</span>.  [[Lyman Hall]]</div>], [<div>:<span class=\"diffchange diffchange-inline\">57</span>.  [[George Walton]]</div>",
    "time" : 1341189897781,
    "diff_url" : "http://en.wikipedia.org/w/index.php?diff=500257674&oldid=498121414",
    "date_str" : "Mon, 02 Jul 2012 00:44:57 GMT",
    "page" : "Signing of the United States Declaration of Independence"
}

ユーザーがそのレコードにタグを追加できるようにするレコードに関連付けられたテキスト フィールドを使用できるようにしたいと考えています。したがって、テンプレート内の何らかのフォームを使用して、ここで update/upsert POST アクションにする必要があることはわかっています。しかし、各レコードのコンテキストを取得し、「このレコードをここで取得し、ユーザーがタグを送信して送信をクリックしたタグを更新する」と言う限り、これを実装する基本的な方法に行き詰まっています。私はそれを考え過ぎています。

既存のセットアップを考慮して、これを実装する最も実用的な方法は何ですか?

4

1 に答える 1

1

pymongo helpMongoDB helpFlask helpのどれを探しているのかわかりません。

たぶん、このコードスニペットが役に立ちます...

from flask import request

tags = request.form.get('tags', []) # Where tags is a list of new tags

mongo_collection.update(
    {'_id': ObjectId('4ff1c0d0dec94126a2000000')},
    {'$pushAll': {'tags': tags}},
    )
于 2012-07-13T00:18:33.713 に答える