모든 목록을 반환하도록 데이터 집합을 쿼리하려고합니다. 문자열 항목이 null이 아닙니다. 내 예를 들어 테이블 :Web2Py DAL - 목록 확인 방법 : 없음에 대한 문자열 형식 항목
for item in db(db.newItems.tasks != None).select(db.newItems.tasks):
반환 : 없음 그래서 등에
db.define_table('newItems',
Field('name', 'string'),
Field('tasks', 'list:string'))
쿼리에만 반환하도록
[]
[]
[u'Wash Dog', u'Mow Yard']
[]
[u'Do X', u'Then do Y']
[]
어떻게 쿼리를 구성 않습니다
[u'Wash Dog', u'Mow Yard']
[u'Do X', u'Then do Y']
감사합니다. 당신
갱신 :
SQLite는 테스트하지만 MongoDB를 작동하지 않을 때 대답은 작동합니다.
이In [4]: db.Tasks.email != []
Out[4]: <Query {'email': {'$ne': ''}}>
몽고 쉘 :
> db.Tasks.find().count()
1195 (total records)
> db.Tasks.find({'email': {'$ne': ''}}).count()
1195
올바른 쿼리가 있어야한다 :
> db.Tasks.find({email: {$ne: [ ] }}).count()
108
이는이다 빈 목록은 []이 잘못된 결과를 산출 ''로 전달됩니다 mongo dal의 버그 또는 빈 목록을 지정할 수있는 또 다른 방법이 있습니까? 또한 None
이 일이 기록을 제외합니다
db(db.newItems.tasks != []).select(db.newItems.tasks)
참고 : 당신이 할 수 있도록 task
에 대한 SQLFORM
, 빈 값을 통해 입력 한 기록이 아니라 None
보다 빈리스트로 저장받을 경우
권장 해 주셔서 감사합니다. 위의 방법을 사용하여 여전히 모든 빈 목록에 쿼리가 적용됩니다. 다른 제안? 비어있는 것을 확인하는 데 '절'조항이 도움이 될까요? – user1175570
흠, 시도 할 때가 아닙니다. Google 그룹에 문제가있는 앱을 게시하면 데이터베이스에있는 가치를 정확히 알 수 있습니다. – Anthony
은 sqlite에서는 작동하지만 mongodb에서는 작동하지 않습니다. DAL에 의해 생성 된 mongo 쿼리를 자세히 설명하는 질문을 업데이트했습니다. – user1175570