{
"teachers" : [
{"name": "Lucy", "id": 3, course: "history"},
{"name": "Mark", "id": 6, "course": "maths"},
{"name": "Joan", "id": 20, course: "French"}
]
}
このドキュメントは「学校」コレクションにあります。を使用してこれらの埋め込みドキュメントにアクセスしようとしています
db.school.find({teachers:{id:3}})
私も試しました
db.school.find({teacher.id:3})
しかし、モンゴは埋め込まれた配列の中を見ることができないため、機能していないことを理解しています。したがって、これらの埋め込みドキュメントを個別のドキュメントに変えたいと考えています。つまり、埋め込みと「教師」キーを削除して、教師ごとに個別のドキュメントを作成します。
最終的な「学校」コレクションは
{"name": "Lucy", "id": 3, "course": "history"},
{"name": "Mark", "id": 6, "course": "maths"},
{"name": "Joan", "id": 20, "course": "French"}
Pythonでそれを行い、新しいドキュメントをコレクションに保存したいと思います。
編集
これは私が今思いついたものです:
import pymongo
import sys
connection = pymongo.Connection("mongodb://localhost", safe=True)
db = connection.hello
shows = db.school
for doc in db.school:
for indiv in "teachers":
try:
db.individual.insert(indiv)
except:
print "Unexpected error", sys.exc_info()[0]