は私がfavoriteColors
と呼ばれるMongoDBのコレクションで、次の4つの辞書を持っています。反復処理リストを作成する
たとえば、リストが["Johnny", "Steve", "Ben", "Johnny"]
の場合、新しいリストは["green", "blue", "red", "green"]
になります。
リストがある場合["Steve", "Steve", "Ben", "Ben", "Johnny"]
新しいリストは["blue", "blue", "red", "red", "green"]
になります。
PythonやPyMongoを使用してこれを行う良い方法があります。これは私が今までに持っているものですが、重複を認識していません。
name_list = ["Steve", "Steve", "Ben", "Ben", "Johnny"]
color_list = []
for document in db.favoriteColors.aggregate([
{"$match": {"name": {"$in": name_list }}},
{"$project": {"color": 1}}
]):
for k, v in document.iteritems():
color_list.append(v)
print color_list
# ["blue", "red", "green"]
を使用すると、' '> 'name''' のマッピングを作成することができます返す
?これを効率的に行うことができるかどうかを知るためにmongodbについては十分に分かりませんが、それが可能であるように思われます。 – mgilson