Boa tarde. tenho uma pagina de consulta cliente. quando configuro o bancos de dados para exibição de para exibir mais que 1000 itens ele não aceita. só vai até 1000. meu banco de dados tem 1375 clientes.
criei um dropdown1 mas só aparece 1000 registros. como faço para que apareça todos os registros que tenho no banco de dados no dropdown1?
obrigado a todos.
Oi @almirferrer.
O limite de uma consulta é por padrão = 50 com um máximo de 1000 valores retornados. Atualmente, não é possível devolver mais de 1000 itens de uma só vez.
Você pode contornar isso adicionando o método .skip() () à sua consulta e defina o número de itens que deseja ignorar antes que a consulta comece a retornar itens da coleção. Com isso você pode preencher o dropdown com resultado de mais de uma consulta.
Exemplo:
async function getAllItems(){ //pega os 1000 primeiro const list1 = await wixData.query("tags") .limit(1000).find() //pega os 1000 depois do item 1000 const list2 = await wixData.query("tags") .limit(1000).skip(1000).find() //junta as listas const allItems = list1.items.concat(list2.items) $w("#dropdown1").options = allItems .map( item => ({label: item.nome, value: item._id})) }
OBS: troque item.nome pelo valor que deseja mostrar ao usuário. Exemplo se o valor que for o campo placa no sou banco de dados, escreva item.placa. O mesmo se aplica ao item._id, mais creio que nessa caso você continue usando o id para saber qual item foi selecionado no array.
Docs wix:
https://www.wix.com/corvid/reference/$w.Dropdown.html#Option
https://www.wix.com/corvid/reference/wix-data.html
Array map:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Espero ter ajudado!
mais uma vez obrigado Matheus
almirferrer há segundos
#Matheus Alexandre. pode me responder?
#Matheus Alexandre
pode me ajudar #Matheus ?
boa noite matheus. coloquei deste jeito e não funiconou. pode me ajudar?
// Para documentação completa sobre API, includindo exemplos de códigos, visite https://wix.to/94BuAAs $w.onReady(function () { //TODO: write your page related code here... }); import wixData from 'wixdata'; async function getAllItems(){ //pega os 1000 primeiro const list1 = await wixData.query("tags") .limit(1000).find() //pega os 1000 depois do item 1000 const list2 = await wixData.query("tags") .limit(1000).skip(1000).find() //junta as listas const allItems = list1.items.concat(list2.items) $w("#dropdown1").options = allItems .map( item => ({label: item.nome, value: item.nome})) }
Matheus agora está dando estes erros nas linhas 11
e 14
só tenho que te agradecer.