2014-06-11 4 views
5

Ho modella Video:Waterline, trovare matrice in serie

module.exports = { 

    attributes: { 
    id: 'string', 
    tags: 'array' 
    }, 
} 

Voglio trovare tutti i video con tag, ad esempio "Ciao" o "mondo". Potrei facilmente ottenere tutti i video come: Video.find ({tags: "Hello"}). Ho visto esempi dove cercare id: [1,2,3] ma non quando chiave (id => tag) è array.

+0

manca un} nel codice? – theonlygusti

+0

ho aggiornato l'intero modello senza funzioni come (beforeCreate, ecc.) –

+0

Controlla questa risposta http://stackoverflow.com/questions/19110553/sails-mongo-find-in-array – kidwon

risposta

-1

questo aiuto per me:

Video.find({tags: {"$in" : ["sometag1", "sometag2"]}}) 

questo mi permette trovo matrice in serie

+3

Questo è quando si utilizza un wrapper mongodb, qui sta usando Waterline. –

-2

Forse questo ..

var filtered = module.exports.filter(function() { 
    return this.tags.indexOf("string") != -1 
}); 
2

Utilizzare la "in" -Riaffermazione in combinazione con "contiene "

Video.find({tags: { contains: ["some1","some2"]}}).exec(function(err,res){ 
    console.log(res); 
}); 

See : https://github.com/balderdashy/waterline-docs/blob/master/queries/query-language.md

+1

Questo non funziona per array credo. – harianus

+0

È vero, questo non funziona. Qualche idea su come risolvere questo? @harianus hai risolto questo? – Suisse

+0

@Suisse: forse, ma era nel 2015 e non uso più Sails. – harianus