2010-11-27 16 views
1

J'ai besoin de savoir comment utiliser where dans les requêtes MongoDB en utilisant le pilote Java.MongoDB Équivalent à la requête SQL avec le pilote Java?

SELECT COLUMN1, COLUMN2 WHERE COLOUM3 = 'KeyWord'; 

J'ai un nom de clé et sa valeur, et je veux trouver une autre clé/valeur. Je pense que je peux utiliser $where pour cela. Mais, je ne connais pas sa syntaxe en Java.

Comment dois-je utiliser where dans mes requêtes mongo?

Toutes les suggestions seraient appréciantes !!!!

Merci!

Répondre

3

Vous ne devriez pas généralement besoin d'utiliser où $ ...

Vous devez utiliser la "requête de style de document" find()

Fondamentalement find() est la version de MongoDB où ...

Si vous avez une collection appelée MaCollection et un attribut appelé attribut1 (ce qui est exactement comme votre COLUMN1)

Donc, pour obtenir des résultats comme cette requête SQL ...

SELECT * WHERE COLOUM3 = 'KeyWord'; 

Via le shell MongoDB, vous utiliseriez find() comme si ...

> db.mycollection.find({attribute1:"KeyWord"}) 

Vous ne devriez vraiment pas avoir besoin d'utiliser $ pour la plupart des requêtes mongodb normales.

Beaucoup plus d'aide ici: http://www.mongodb.org/display/DOCS/Querying

1

Il y a un site appelé www.querymongo.com qui se traduit par la syntaxe SQL dans la syntaxe MongoDB. C'est vraiment utile pour les cas comme celui-ci.

Dans le cas de l'exemple ci-dessus:

SQL:

SELECT * FROM collection WHERE COLOUM3 = 'KeyWord'; 

Devient ceci dans MongoDB:

db.collection.find({ 
    "COLOUM3": "KeyWord" 
}); 
+0

Cela semble être l'auto-promotion non divulguée. Sachez que cela va à l'encontre des règles de Stack Overflow et que vous serez rapidement marqué comme un spammeur si vous continuez. –