2014-07-01 4 views
0

J'essaye de déterminer l'existence d'un objet pour décider s'il faut créer un nouvel objet avec un nouveau key ou pour mettre à jour un objet existant. L'objectif ici est de faire correspondre deux index secondaires.En utilisant Riak.js/Riak, comment faire un "ET" sélectionner?

db.query(bucket, {end: null, definition_id: id}, function(err, data) { 
    if (err) { 
     res.send(err); 
    } else { 
     if (data.length === 0) { 
      // write new obj 
     } else { 
      // add to current obj 
     } 
    } 
}); 

S'il existe un moyen facile de le faire avec l'API HTTP je serais jeu pour cela, aussi, ne arrive pas à trouver dans la documentation.

Merci.

Répondre

3

L'indexation secondaire de Riak ne prend pas en charge l'interrogation simultanée de 2 index, vous devez interroger chaque index séparément, puis croiser les ensembles de résultats. Toutefois, si vous devez interroger régulièrement la même paire d'index, vous pouvez créer un index composite en plus des autres. Donc, si vous indexez, end et definition_id, créez aussi un index end-def dont les valeurs sont end et definition_id concaténées avec un séparateur.

+0

C'est précisément ce que j'ai trouvé plus tard dans la journée. J'ai fait un index 'end_id'. – Jazzy

Questions connexes