Alguns conceitos de MongoDB
A seguir, é apresentada uma comparação entre MongoDB e MySQL
Mysqlmongodb
banco de dados (banco de dados) db (banco de dados)
Tabela (Tabela) Coleção (Coleção)
Documento da linha
Campo de coluna (coluna) (campo)
chave primária (especifique a chave primária) "_id": objectId ("********") gera automaticamente a chave primária interna
O formulário de dados do MySQL é o seguinte
Os mesmos dados são semelhantes aos pares de valor-chave JSON em MongoDB, chamado BSON, como segue
Crud de MongoDB
Depois que a instalação no Windows for bem -sucedida, use o comando MongoD para iniciar o serviço e usar o comando MONGO para conectar -se à biblioteca de testes por padrão.
1. Crie uma coleção
Criar coleção de usuários: db.createCollection ("Usuário") // Não é necessário definir campos
2. Insira o registro com nome = wangxu, idade = 27: db.user.insert ({"name": "wangxu", "idade": 27})
3. Consulta todas as consultas: db.user.find ()
Consulta o registro de nome = wangxu: db.user.find ({"name": "wangxu"})
4. Atualize a idade recorde do nome = wangxu para 30: db.user.update ({name: "wangxu"}, {"$ set": {"idade": 30}})
5. Exclua o registro com nome = wangxu: db.user.remove ({"name": "wangxu"})
Exclua tudo: db.user.remove ()
6. Exclua a coleção e exclua a coleção de usuários: db.user.drop ()
Java chama MongoDB
Depois de introduzir o pacote de driver Java do MongoDB, o código de teste é o seguinte:
pacote com.wx.test; importar java.util.ArrayList; importar java.util.list; importar org.bson.document; importar com.mongodb.mongoclient; import.mongodb.client.finditerable; import.mongodb.client.mongocollection; com.mongodb.client.mongodatabase; importar com.mongodb.client.model.filters;/** * Teste Pontos de teste de MongoDB: adicione, consulte, atualize, delete * * @author wangxu * @date 2016-3-27 */public classe TestMonGodb {public Staid Maid Maid Mail nome de usuário e senha por padrão MongoClient MongoClient = New Mongoclient ("Localhost", 27017); // Obtenha a biblioteca de testes MongoDatabase db = mongoclient.getDatabase ("teste"); // Criar coleção db.createCollection ("usuário"); // obtém coleta de coleta de mongocollection = db.getCollection ("usuário"); // Insira o documento (suporte de suporte múltiplas linhas) documento = novo documento ("nome", "wangxu"). Append ("Age", "27"); Documento Document2 = Novo Document ("Nome", "Wangxu_java"). Append ("Age", "27"); List <Cocument> documentos = new ArrayList <> (); documents.add (documento); documents.add (document2); Coleção.InsertMany (documentos); // Atualize a idade de Wangxu para a coleção 30.Updatemany (filters.eq ("nome", "wangxu"), novo documento ("$ set", new Document ("Age", 30)); // consulte o documento finditerable <documber> finditerable = collection.find (); Mongocursor <documm> Mongocersor = Findertable = collection.find (); (MonGocursor.hasnext ()) {documento doc = mongocursor.next ();Uma pergunta sobre o pacote de driver Java
Mongocliente mongoclient = novo mongocliente ("domínio não existe", 27017); // Crie uma conexãoQuando salvei o código acima, descobri que não havia necessidade de lidar com exceções. No começo, pensei que a exceção foi projetada como "exceções não verificadas" e seria jogada quando estiver em execução. Finalmente, o teste constatou que nenhuma exceção seria lançada. As exceções seriam lançadas durante as operações subsequentes da CRUD, mas foram quase todas exceções não verificadas. Pessoalmente, sinto que esse design é um pouco incompatível com o mecanismo de classificação de exceção do Java?