나는 http://docs.mongodb.org/ecosystem/use-cases/category-hierarchy/을 다루려고하는 PHP 개발자이지만 파이썬에 대해서는 많이 모른다. MongoDb 카테고리 계층 유스 케이스에 대한 몇 가지 질문
내 첫 번째 질문 :for cat in db.categories.find(
{'ancestors._id': bop_id},
{'parent_id': 1}):
build_ancestors_full(cat['_id'], cat['parent_id'])
'PARENT_ID이'에서 오는가? 그것은 단지 '부모'가 아닌가요?
내 두 번째 질문 :
parent_id = parent.pop('parent')
ancestors.append(parent)
감사합니다 :
def build_ancestors_full(_id, parent_id):
ancestors = []
while parent_id is not None:
parent = db.categories.find_one(
{'_id': parent_id},
{'parent': 1, 'name': 1, 'slug': 1, 'ancestors':1})
parent_id = parent.pop('parent')
ancestors.append(parent)
db.categories.update(
{'_id': _id},
{'$set': { 'ancestors': ancestors } })
가 나는 사이비 설명이 도우미 함수의 (또는 PHP에 해당), 주로 다음 줄을 부탁드립니다!
UPDATE & 않음 : 실시 예 번호에
두 오류 :
첫번째 'PARENT_ID'=> '부모'이어야
번째
{ '부모이다 ': 1,'name ': 1,'slug ': 1,'ancestors ': 1})
=> ancestors 필드는 _id이어야합니다.
나는 기능 부분에 더 많은 문제에 봉착했습니다. 이 예에서는 parent_id라는 개념이 존재하지 않습니다. 이것은 오타라고 생각합니다. 또한 올바르게 이해한다면 parent.pop ('parent')는 부모를 키 이름, 슬러그 및 조상이있는 배열로 남겨 둡니다. 조상들이 여기서 키가 되는게 아닌가? – Iano
예 : – Iano
parent는 python 사전이므로 parent.pop ('parent')는 사전에서 상위 키를 제거하고 값을 반환합니다. – user602525