Marciu 0 Denunciar post Postado Março 1, 2011 Boa noite, amigos. To iniciando com mongo e gostaria de converter o seguinte SELECT mySql para o find() ou MapReduce do Mongodb: SELECT user.name, membership.identity as login FROM user INNER JOIN membership ON user.idMemberShip = membership.id No mongo na coleção user há um campo chamado memberShip, que na verdade é outro documento, exemplo: { "name": "Marcio", "lastName": "Souza", "cpf": "000.000.000-00", "memberShip": { "createDate": null, "identity": "marcio", "credential": "imasters" }, "_id": 2 } E o resultado da consulta, nesse formato: { "name": "Marcio", "login": "marcio" /*o mesmo que identity:marcio*/ } Como faço? Confesso que to perdido nessas queries do Mongo ainda mais as complexas quando envolve outras coleções. Usar o MapReduce tem que ser ninja. Grato desde já. Márcio. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
Raphy 0 Denunciar post Postado Abril 9, 2011 Faz um tempo que você postou e talvez já tenha encontrado a resposta, mas se alguém mais tiver a mesma dúvida está é a solução. No console do mongoDB: db.user.findOne({"name":"Marcio", "memberShip.identity":"marcio"}) Em Java: BasicDBObject query = new BasicDBObject(); query.put("name", "Marcio"); query.put("memberShip.identity", "marcio"); DBObject bdo = coll.findOne(query); Abraços :joia: Compartilhar este post Link para o post Compartilhar em outros sites
Marciu 0 Denunciar post Postado Abril 10, 2011 Muito obrigado, Raphy!! Faz um tempo que você postou e talvez já tenha encontrado a resposta, mas se alguém mais tiver a mesma dúvida está é a solução. No console do mongoDB: db.user.findOne({"name":"Marcio", "memberShip.identity":"marcio"}) Em Java: BasicDBObject query = new BasicDBObject(); query.put("name", "Marcio"); query.put("memberShip.identity", "marcio"); DBObject bdo = coll.findOne(query); Abraços :joia: Compartilhar este post Link para o post Compartilhar em outros sites
Suissa 1 Denunciar post Postado Abril 23, 2011 Boa noite, amigos. To iniciando com mongo e gostaria de converter o seguinte SELECT mySql para o find() ou MapReduce do Mongodb: SELECT user.name, membership.identity as login FROM user INNER JOIN membership ON user.idMemberShip = membership.id No mongo na coleção user há um campo chamado memberShip, que na verdade é outro documento, exemplo: { "name": "Marcio", "lastName": "Souza", "cpf": "000.000.000-00", "memberShip": { "createDate": null, "identity": "marcio", "credential": "imasters" }, "_id": 2 } E o resultado da consulta, nesse formato: { "name": "Marcio", "login": "marcio" /*o mesmo que identity:marcio*/ } Como faço? Confesso que to perdido nessas queries do Mongo ainda mais as complexas quando envolve outras coleções. Usar o MapReduce tem que ser ninja. Grato desde já. Márcio. ^_^ No console: db.user.find({name: 'Marcio', memberShip.identity: 'marcio'}, {name:1, memberShip.identity:1, _id: 0}) O segundo parametro é onde passamos quais os campos de retorno, o _id:0 eh para nao retornar o ObjectID Compartilhar este post Link para o post Compartilhar em outros sites