有人可以幫我嗎?我試圖簡單地檢索字段「地址」中的內容。我無法得到它的打印速度比空括號以外的任何「[]」Empty EmbeddedDocument字段?
下面是一個例子紀錄:
{
"_id": { "$oid" : "51376F833EF9EB361F354ED0" },
"addresses": [
{
"city": "CAMBRIDGE",
"suffix": "",
"street_name": "FRANKLIN ST",
"prefix": "",
"zipcode": "49503",
"state": "MA",
"street_num": "127"
}
],
"created_at":{ "$date": 1361160419000.000000 }
}
這裏是我的類代碼:
class Buildings(db.Document):
_id = db.ObjectIdField(required=True)
addresses = db.ListField(db.EmbeddedDocumentField('Address'))
created_at = db.DateTimeField(default=datetime.datetime.now, required=False)
meta = {
'allow_inheritance': False,
'indexes': ['_id'],
'ordering': ['-created_at']
}
class Address(db.EmbeddedDocument):
city = db.StringField(required=False)
suffix = db.StringField(required=False)
street_name = db.StringField(required=False)
zipcode = db.StringField(required=False)
prefix = db.StringField(required=False)
state = db.StringField(required=False)
is_contracted = db.IntField(required=False)
street_num = db.StringField(required=False)
和循環應打印嵌入式文檔,但僅爲每個對象返回一個[]。
for building in Buildings.objects:
print building.addresses
任何想法,爲什麼這不起作用?
我不確定這適用於我...我不確定發生了什麼事。仍然打印一個空白[] – 2013-03-18 12:11:00
你能幫我理解你的例子和我之間不起作用嗎? – 2013-03-18 12:18:56
你可以打開mongo控制檯,並從你的集合'db.building.find()'中選擇任何文檔,因爲你的json例子不喜歡真正的mongo文檔(我不能將你的json插入到collention中作爲db.building .insert(your_json_there)')?在我的例子中,我使用'ObjectId' - 默認的mongo id,在你的代碼中你也使用了顯式的。但是你的json'_id'格式很奇怪。我認爲你有id域的問題。 – tbicr 2013-03-18 13:44:48