adição básica de mongodb, exclusão, modificação e operações de consulta

Mongodb

  • O número da porta padrão de MYSQL: 3306

  • O número da porta padrão do Mongodb: 27017

    Sistema de gerenciamento de banco de dados não relacional NOSQL

    Usado para armazenamento de dados em larga escala (por exemplo: Google, Facebook) não requer um modelo fixo e pode ser dimensionado horizontalmente sem operações desnecessárias

O que é MongoDB?

Escrito em C ++, é um sistema de banco de dados de código aberto baseado no armazenamento de arquivos distribuídos.

No caso de alta carga, adicionar mais nós pode garantir o desempenho do servidor.

  • Fornece soluções escalonáveis ​​de armazenamento de dados de alto desempenho para aplicativos WEB
  • Os dados do MongoDB são armazenados como um documento e a estrutura de dados é composta de pares chave-valor (chave => valor)
  • Os documentos do MongoDB são semelhantes aos objetos JSON, e os valores dos campos podem incluir outros documentos, matrizes e matrizes de documentos

Análise de conceito

SQL MongoDB explicar
tabela coleção definir
linha (uma linha, um registro) documento Documentação
coluna campo Domínio (par de valor-chave)
índice índice índice
junções de mesa A consulta de conexão de tabela não é compatível
chave primária chave primária Chave primária, mongoDB define automaticamente o campo _id como a chave primária

base de dados

db. Bancos de dados diferentes são colocados em arquivos diferentes

show dbs pode exibir uma lista de todos os bancos de dados

nome de armazenamento de dados:

Não pode ser uma cadeia de caracteres (""), sem espaços,. ,, /, \ 0 (caracteres vazios) É melhor não usar chinês (podem ocorrer caracteres truncados em chinês), todos em minúsculas, até 64 bytes

Documentação:

Par de valores-chave, BSON

{”site":"xxxxx","age":25}
Serviço de banco de dados e cliente
MYSQL / Oracle Mongod

Nota:

  • Os pares de valores-chave no documento são ordenados
  • Distinguir tipo e caso
  • Não pode haver chaves duplicadas,
  • Chave: string (utf-8), não pode conter caracteres vazios
  • . $ Tem um significado especial, usado apenas em um ambiente específico
  • A chave no início de _ é reservada (não estritamente necessária)

objeto

onject_id pode ser de qualquer tipo, geralmente o padrão é o tipo de objeto

O carimbo de data / hora criado é salvo em onject_id, portanto, não há necessidade de criar o carimbo de data / hora sozinho (timestap)

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-hotlinking. Recomenda-se salvar a imagem e carregá-la diretamente (img-IpPiTmmw-1611392732234) (C: \ Users \ jry \ AppData \ Roaming \ Typora \ typora-user-images \ image-20210123134431496.png)]

Obtenha a hora de criação do documento através da função getTimestap

Converter para a forma de string por str

encontro

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-leeching. Recomenda-se salvar a imagem e carregá-la diretamente (img-iqoE0EMq-1611392732240) (C: \ Users \ jry \ AppData \ Roaming \ Typora \ typora-user-images \ image-20210123134725981.png)]

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-hotlinking. Recomenda-se salvar a imagem e carregá-la diretamente (img-eBUxv13Z-1611392732243) (C: \ Users \ jry \ AppData \ Roaming \ Typora \ typora-user-images \ image-20210123134808410.png)]

Operações básicas do MongoDB

Um, crie um banco de dados

use xxx

Insira a descrição da imagem aqui

Mas não há conteúdo no banco de dados, ele será exibido após a inserção do conteúdo

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-hotlinking. Recomenda-se salvar a imagem e carregá-la diretamente (img-aYqDZ4K6-1611392732249) (C: \ Users \ jry \ AppData \ Roaming \ Typora \ typora-user-images \ image-20210123135240492.png)]

Dois, exclua o banco de dados

db.dropDatabase ()

Mude para outro banco de dados para ver se ele foi excluído
Insira a descrição da imagem aqui

Três, crie uma coleção

  • db.createCollection ("funcionário") cria uma coleção de funcionários
  • db.mycol (nome da coleção) .insert ({"_ id": 01, "name": "马云"}) Insira diretamente, nenhuma coleção criará automaticamente uma coleção mycol
  • mostrar coleções mostrar as coleções no banco de dados
  • db ver o banco de dados atual

Insira a descrição da imagem aqui

Quarto, exclua a coleção

db.tc (nome da coleção) .drop ()
Insira a descrição da imagem aqui

Cinco, insira documentos na coleção

db.collection name.insert (document) Se _id existir, a exceção de chave primária será lançada e os dados atuais não serão salvos

db.collection name.save (document) Se _id existir, atualize os dados, se não existir, insira os dados

Insira um registro

var document name = db.collection name.insert ({inserir conteúdo do par de valores-chave})

Insira a descrição da imagem aqui

Insira vários registros

nome do documento var = db.collection name.insertOne ({})

Insira a descrição da imagem aqui

Insira vários documentos

var document name = db.collection name.insertMany ({})

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Inserir matriz

1. Crie uma matriz primeiro
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Sexto, a atualização do documento

db.collection name.updata (

{consulta — condição de consulta}

upsert – true: inserir se não existir, atualizar se existir, false: não atualizar

{$ set "{valor atualizado}} - por que atualizar o valor

multi: verdadeiro / falso — verdadeiro: atualiza todos os valores qualificados, falso: atualiza apenas o primeiro valor qualificado

)

Atualize um valor

db.employee.update ({“sexo”: “男”}, {$ set: {“idade”: 18}})

Insira a descrição da imagem aqui

Todas as atualizações que atendem às condições

db.employee.update ({“sexo”: “男”}, {$ set: {“idade”: 18}}, {multi: verdadeiro} )

Insira a descrição da imagem aqui

Sete, consulta de documento

1. Marca de condição
$ gt >
$ gte > =
$ lt <
$ lte <=
$ fazer ! =
$ eq 、 =

Consultar registros com idade inferior a 19

Insira a descrição da imagem aqui

Consultar registros com idade menor ou igual a 19

Insira a descrição da imagem aqui

Verifique se a idade é inferior a 30 e o endereço é em Yan'an

db.employee.find ({“idade”: {$ lt: 20}, “endereço”: “延安”})

Insira a descrição da imagem aqui

2. Condição E OU

E

db.employee.find ({' Erro de análise KaTeX: esperado'} ', obteve' EOF 'no final da entrada: e': [{"idade": { lt: 20}}, {“endereço”: “延安” }]})

Insira a descrição da imagem aqui

'$ and' - e caráter relacional

[{Condição 1}, {Condição 2}]

OU

db.employee.find ({' Erro de análise KaTeX: esperado'} ', obteve' EOF 'no final da entrada: ou': [{"idade": { lt: 20}}, {“endereço”: “延安” }]}))
Insira a descrição da imagem aqui
db.employee.find ({" Erro de análise KaTeX: esperado '}', obteve 'EOF' no final da entrada:…": "女"}, {"idade": { gt: 10}} ]})

Sexo é feminino, idade> 10 anos

Consulta no robo 3T

Insira a descrição da imagem aqui

AND e OR combinados

Primeiro e depois ou

db.employee.find ({“sal”: { erro de análise KaTeX: esperado 'EOF', obtido '}' na posição 9: gt: 17000} ̲, ' ou': [{“sexo”: “女”}, {“Endereço”: “延安”}]})

db.employee.find ({“sal”: { erro de análise KaTeX: esperado 'EOF', obtido '}' na posição 9: gt: 19000} ̲, " ou": [{“sexo”: “女”}, {“Endereço”: “延安”}]})

Insira a descrição da imagem aqui

db.getCollection('employee').find({"age":{$lt:30},"address":"郑州"})db.employee.find({"age":{$lt:30},"address":"郑州"})

//查询age小于30并且地址是郑州的document
db.employee.find({'$and':[{"age":{$lt:30}},{"address":"郑州"}]}) db.getCollection('employee').find({})

//查询age小于30或address是洛阳document
db.employee.find({'$or':[{"age":{$lt:30}},{"address":"洛阳"}]}) 

//查询sex为女或address是南京的document
db.employee.find({'$or':[{"sex":"女"},{"address":"南京"}]})  

// (price>70 and (publish="机械工业出版社" or public="新疆儿童出版社"))
db.db_book.find({"price":{$gt:70},'$or':[{"publish":"机械工业出版社"},{"publish":"新疆儿童出版社"}]})

8. Consulta difusa

  • /contente/
  • / ^ O que começa com /
  • / Termina com $ /

Aqueles com Jiang em seu nome

db.employee.find ({“nome”: / 蒋 /})

Insira a descrição da imagem aqui

comece com a palavra cavalo no nome

db.employee.find ({“nome”: / ^ 马 /})

Insira a descrição da imagem aqui

O nome que termina com a palavra de acordo com

db.employee.find ({“nome”: / 依 $ /})

Insira a descrição da imagem aqui

Nove, exclua documentos

db.collection name.remove ({especificar as condições})

db.employee.remove({_id:1002})  删除_id为1002的文档

db.collection name.remove (excluir condição, 1)

db.employee.remove({name:/诸/},1)  删除名字中有诸的,并且只删除一个文档

O nome que termina com a palavra de acordo com

db.employee.find ({“nome”: / 依 $ /})

Acho que você gosta

Origin blog.csdn.net/rraxx/article/details/113058327
Recomendado
Clasificación