-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
아래처럼 {% if datas.count() > 0%} 문법오류
21.12.20 20:18 작성 조회수 423
1
답변을 작성해보세요.
0
남박사
지식공유자2021.12.21
몽고디비 버전을 몇을 사용하시는지는 모르겠습니다만 강좌에서 진행되는 버전은 아닌것으로 보입니다. 말씀하신 db.collection.count() 함수는 3.6 버전까지만 지원하는것으로 보입니다.
https://docs.mongodb.com/manual/reference/method/db.collection.countDocuments/
위 링크의 문서를 참고해보시기 바랍니다.
0
thisauto
질문자2021.12.21
추가로
def lists():
board = mongo.db.board
datas = board.find({})
datas의 count의 개수를 구하려고 합니다
MongoDB count() Method – db.Collection.count() 에서 처럼
roubo3T에서 db.getCollection('board').find({}).count() 하면 데이타레코드 갯수를 불러오는데
코딩으로
recordcount = board.find({}).count() 표현하면 오류가 발생하네요?
AttributeError: 'Cursor' object has no attribute 'count'
다른방법은 없나요?
가후
2022.02.28
같은 문제에 봉착했네요 해결책은
count()는 이제 쓰지 않으니 count_documents({}) 이걸 사용하시면 됩니다
기존코드(영상에 나오는)
tot_count = board.find({}).count()
위 코드에서
tot_count = board.count_documents({})
이렇게 바꾸시면 됩니다.
사용법을 정리하자면
콜렉션명.count_documents({조건}) 입니다
저희는 전체 게시물 개수를 가녀와야 하니
조건을 비워두면 전체 게시물 개수를 세어줍니다.
진도 나가기가 정말힘드네요
화이팅 하세요
0
남박사
지식공유자2021.12.20
몽고 DB 3.7 인가 부터 collection 의 count() 함수를 더 이상 사용할 수 없습니다.
def lists():
board = mongo.db.board
datas = board.find({})
return render_template("list.html", datas = list(datas))
위의 코드처럼 데이터를 넘길때 list 형태로 캐스팅 해서 넘겨야
{% if datas|length > 0 %}
length 를 사용할 수 있을것 같습니다.
남박사
지식공유자2022.02.28
네 그렇게 직접 리스트변수를 선언해서 append 시켜서 넘기셔도 됩니다. 어쨌든 본인이 직접 구글링해보고 스스로 문제를 해결 하셨다는점에 대해 진심으로 박수 보내드리고 싶습니다.
답변 3