MongoEngine/Flask-MongoEngine을 사용하여 Flask에서 한 번에 여러 항목을 문서에 추가 할 수 있습니까?Flags에서 MongoEngine을 사용하여 Mongodb 문서에 여러 항목을 한 번에 추가하는 방법은 무엇입니까?
내 항목이 들어있는 사전을 반복하려했습니다. 예제를 약간 단순화했으나 원래 데이터는 내 Wordpress에서 나오는 RSS 파일이며 feedparser
을 통해 파싱했습니다.
하지만 문제는 분명히 데이터베이스에 저장되기 전에 항목을 보유하는 변수를 동적으로 생성 할 수 없다는 것입니다.
여기까지 제가 시도한 내용입니다.
어떻게하면 MongoDB 데이터베이스에 항목을 대량으로 추가 할 수 있습니까?
# model
class Entry(db.Document):
created_at = db.DateTimeField(
default=datetime.datetime.now, required=True),
title = db.StringField(max_length=255, required=True)
link = db.StringField(required=True)
# dictionary with entries
e = {'entries': [{'title': u'title1',
'link': u'http://www.me.com'
},
{'title': u'title2',
'link': u'http://www.me.com/link/'
}
]
}
# multiple entries via views
i = 0
while i<len(e['entries']):
post[i] = Entry(title=e['entries'][i]['title'], link=e['entries'][i]['title'])
post[i].save();
i += 1
편집 1 :
내가 mongoengine
가 이해할 수있는 형태로 사전을 alltogether 변수를 생략하고 번역에 대해 생각했다.
newList = [RSSPost(title="test1", link="http://www.google.de"),
RSSPost(title="test2", link="http://www.test2.com")]
RSSPost.objects.insert(newList)
이 작동하지만, 내 문제를 완전히 번역 할 수 있습니다 : 내가 수동으로 목록을 만들 때, 나는 MongoDB를로 한꺼번에 입력 할 수 있기 때문에
.
나는f = []
for x in e['entries']:
f.append("insert " + x['link'] + " and " + x['title'])
을 시도하지만, 당신이 보는 나는 내가 필요로하는 목록을 다시 만들 수 없었다.
올바르게 수행하는 방법은 무엇입니까?
가능한 중복 내가 모르는 뭔가가 아니에요만큼 오랫동안 같은
Entry
객체를 생성 할 수 있어야한다 15143482/multi-document-insert-using-mongoengine-into-mongodb - 해당 솔루션이 적용 가능한지 확인하겠습니다. – mcbetz나는 그것이 중복이 아니라고 말할 것이다. 다른 질문에는 반복 가능한 항목이 포함되어 있지 않으며 제공된 답변으로 해결할 수 없습니다. – mcbetz