MongoDB와 web2py를 통합하기위한 유스 케이스로 아주 간단한 애플리케이션을 만들고 있습니다.MongoDB & web2py : ObjectIds 작업하기
내 데이터베이스 테이블 :
db.define_table('products',
Field('brand', label='Brand'),
Field('photo', label='Photo'),
...
Field('options', label='Options'))
내 컨트롤러 :
def products():
qset = db(db['products'])
grid = qset.select()
return dict(grid=grid)
내보기 :
{{extend 'layout.html'}}
<h2>Product List</h2>
{{=grid}}
응용 프로그램의 한 섹션에서는 제품의 목록을 반환에 관심이 있어요
제품은 문제없이 반환됩니다. 그러나 products._id 필드는 '26086541625969213357181461154'양식의 값을 반환합니다. 쉘 (또는 파이썬)으로 전환하여 _ids를 기반으로 데이터베이스를 쿼리하려고하면 어떤 제품도 찾을 수 없습니다.
예상대로 데이터베이스의 _ids는 '544a481b2ceb7c3093a173a2'와 같은 ObjectId입니다. 나는 긴 문자열이 아닌 ObjectId를 반환 할 것을 제 견해로하고 싶습니다. 간단하지만 문제가 있습니다.
흠, 확실하지 왜'db._adapter.object_id' 당신을 위해 작동하지 않지만, 어떤 경우에, 그냥'진수 (ARG) [2 일을 끝 : ] .rstrip ('L') .zfill (24)', 대부분 코드와 동일합니다. – Anthony