MongoDB

9 respostas
evertonsilvagomesjav

Pessoal onde fica o arquivo utilizado para armazenamento dos dados no Mongo?

9 Respostas

jweibe

No MongoDB não tem um lugar definido por padrão, sendo assim quanto o MongoDB for iniciado é necessário passar o parâmetro
–dbpath /seu/path/aqui para que ele possa gravar seus dados neste diretório.

evertonsilvagomesjav

jweibe:
No MongoDB não tem um lugar definido por padrão, sendo assim quanto o MongoDB for iniciado é necessário passar o parâmetro
–dbpath /seu/path/aqui para que ele possa gravar seus dados neste diretório.

jweibe quando eu inicio o mongo, atraves do mongod ele nao deixa eu digitar nada no prompt, como faço?

jweibe

Linux:
./mongod --dbpath /opt/mongodb

Windows:
mongod.exe --dbpath C:\mongodb

evertonsilvagomesjav

jweibe:
Linux:
./mongod --dbpath /opt/mongodb

Windows:
mongod.exe --dbpath C:\mongodb

Criei uma pasta armazenamento dentro de: C:\mongodb\armazenamento

Entrei dentro de mongodb\bin e digitei no prompt mongod.exe --dbpath C:\mongodb\armazenamento

Agora da exceção na aplicação

jweibe

Posta a Exception que esta sendo lançada.

evertonsilvagomesjav
jweibe:
Posta a Exception que esta sendo lançada.

Opa Jweibe agora funcionou velho, obrigado.

Outra coisa o metodo findeOne esta me retornando null, e o findAll retorna todos corretamente tem como vc me ajudar?

@SuppressWarnings("static-access")
	private static void consultarPessoa(){
		
		Pessoa p = new Pessoa();		
		
		p.setNome(JOptionPane.showInputDialog("Digite seu nome ai!"));	
		p.setSexo(JOptionPane.showInputDialog("Agora nos informe seu sexo =^.^="));
		p.setIdade(Integer.valueOf(JOptionPane.showInputDialog("Digite sua idade")));	
		
		Pessoa pessoa = Controller.getIntance().consultarPessoa(p);
		
		JOptionPane.showMessageDialog(null, pessoa, "", JOptionPane.INFORMATION_MESSAGE);
		
	}
public static Pessoa consultarPessoa(Pessoa p){
		 
		 Map<String, Object> mapPessoa = new HashMap<String, Object>();	 
		 
		 mapPessoa.put("nome", p.getNome());  	
		 mapPessoa.put("idade", p.getIdade());  
		 mapPessoa.put("sexo", p.getSexo()); 
		 
		 DBObject dbObject = getDao("pessoas").consultaPessoa(mapPessoa);
		 
		 Pessoa pessoa = new Pessoa();		
		 
		 pessoa.setNome((String)dbObject.get("nome"));
	     pessoa.setIdade((int)dbObject.get("idade"));
	     pessoa.setSexo((String)dbObject.get("sexo"));
	     
	     return pessoa;
	 }
public DBObject consultaPessoa(Map<String, Object> mapKeyValue) {
		  DBObject dbObject = dbCollection.findOne(mapKeyValue);					  
		  return dbObject; // AQUI ESTA RETORNANDO NULO
		 
	}
jweibe
Cara verifica se os dados que você ta passando estão todos corretos. Depois tu conecta no mongo pelo mongo.exe e executa o comando find na sua sua coleção pega o id e testa no seu código.
public DBObject consultaPessoa(Map<String, Object> mapKeyValue) {  
      DBObject dbObject = dbCollection.findOne(mapKeyValue);                        
      return dbObject; // AQUI ESTA RETORNANDO NULO  
       
}
por
public DBObject consultaPessoa(Map<String, Object> mapKeyValue) {  
      DBObject dbObject = dbCollection.find(new BasicDBObject("_id", "0000000000000000"));  // coloca um _id válido do seu banco                       
      return dbObject; // AQUI ESTA RETORNANDO NULO  
       
}

Tem um aplicativo chamado de Umongo e bem legal ele.. é um editor visual pro mongo https://github.com/agirbal/umongo/downloads

evertonsilvagomesjav

Utilizei o ID DBCursor dbCursor = (DBCursor) dbCollection.find(new BasicDBObject("_id", "5092ad4069e571f76bbb8098"));

Veio sem nada o Cursor

jweibe

evertonsilvagomesjava:
Utilizei o ID DBCursor dbCursor = (DBCursor) dbCollection.find(new BasicDBObject("_id", "5092ad4069e571f76bbb8098"));

Veio sem nada o Cursor

Cara vacilei no que eu falei no post acima, e correto e assim.

DBCursor dbCursor = (DBCursor) dbCollection.find(new BasicDBObject("_id", new ObjectId("5092ad4069e571f76bbb8098")));

Executa o comando find pelo console e tira um print e posta aqui.

Criado 1 de novembro de 2012
Ultima resposta 1 de nov. de 2012
Respostas 9
Participantes 2