2012-12-15 2 views
1

trouver un enregistrement avec la notation par points est possible via le shell mongo par exemple:mongodb notation dot trouver

db.events.find({'events.eid':307215649389788}) 

Je suis en train de réaliser la même chose avec les pilotes java, problème:

  • db.getCollection (collectionName) .find (requête) - attend la requête en tant que DBObject. Lors de la création de DBObject avec 'events.eid' comme clé, le constructeur ajoute "" pour obtenir le résultat suivant: "'events.eid'" comme clé qui ne fonctionnera pas (également dans shell).

comment puis-je surmonter cela?

Répondre

2

Pas tout à fait sûr de ce que vous essayez, mais cela fonctionne:

DBCursor cursor = coll.find(new BasicDBObject("events.eid", 307215649389788)); 

Vous devez utiliser des guillemets doubles (") avec des chaînes Java si vous utilisez des guillemets simples qui est votre problème.

Questions connexes