Operación de la base de datos mongodb de nosql + operación de inserción y actualización de la colección

Documentación de aprendizaje de mongodb:
https://docs.mongoing.com/
1. Operación de
la base de datos 1. Use la base de datos si existe y créela si no existe

use test1;

Ver todas las bases de datos

show dbs;

Cambiar la base de datos actual

use test1;

Ver la base de datos actual

db

Ver todas las colecciones en la base de datos actual

show tables

Ver todos los datos de la colección (al consultar las condiciones, si usa un campo que no está en la colección, no se informará ningún error, pero ningún resultado)

db.students.find({})//花括号可加可不加

Eliminar base de datos

在当前数据库下运行db.dropDatabase()(有表也可以删除,而hive有表的话就不能删除数据库)

Eliminar colección (nosql y hive se pueden eliminar directamente independientemente de si hay datos en la tabla)

db.users.drop();

Eliminar todos los documentos de la colección

db.inventory.deleteMany({}) 必须带着花括号
update修改已有的文档可以同时新增字段
insert添加新的文档同时可以新增字段

Dos, operación de inserción

insert({})插入空的时候必须带花括号

formato

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

1 ... No es necesario que la colección esté predefinida, los datos insertados se crean automáticamente y la creación de campos no está limitada. Al mismo tiempo, puede agregar nuevos campos a voluntad o no insertar el valor de un campo.

db.students.insert({
	name:'zb1',
	age:1001,
	hello:1
}
)

2 ... Insertar acción usa la función insert () db.collection_name.insert ()
3. Insertar hora, soporte js, nueva fecha ()

db.students.insert({
	name:'zb11',
	age:10011,
	hello:11,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间,晚8小时),服务器时间不可修改,前端时间可以修改
}
)

db.students.find()

4. Para insertar varios registros, preste atención a [] en el documento de matriz, incluso si inserta uno, use insertmany () para usar []

db.students.insertMany([{
	name:'zb11',
	age:10011,
	hello:13,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
},
{
  name:'zb11',
	age:10011,
	hello:14,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
}]
)

5.insertar = insertar muchos, insertar solo uno

Tres,
modificador de actualización 3.1: seguido de (clave: valor)

{$set:{
   
   status:'pending'}}
1.$set如果存在这个字段则更新,不存在则创建
2.$currentDate()更新创建时间,不存在则自动创建 修改器:
3.$inc  更新数字字段并加n  ,n必须是整数 ,1是加1,-1是减1

3.2 Consulta: el frente es la clave y la condición de raíz es vlaue en la parte posterior

{age:{$gte:10}}
等于: :/$eq
大于:$gt
大于等于:$gte
小于:$lt
小于等于:$lte
不等于:$ne

formato:

db.collection.updateMany(
   <filter>,相当于sqlwhere
   <update>,相当于sqlset
   {
     upsert: <boolean>,//默认false,ture表示没有这个条文档的话自动创建
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)

updateMany (),
1. Modificador: establecer, agregar una implementación de campo y asignar un valor, establecer, agregar una implementación de campo y asignar un valor,s e t ,Además Yi Ge palabra segmentos de la verdadera actual y asigna valor , el SET si la existencia de este campo se actualiza, no existe crear

db.students.updateMany({},{$set:{sex:'male'}})

2. Modificador: $ currentDate actualiza la hora de creación, si no existe, se creará automáticamente

db.students.updateMany({
   
   status:'stop'},{$currentDate:{createtime:true}})

3.actualizar, updateOne solo actualiza uno

db.students.updateOne({age:11},{$set:{age:10,status:'ok'}})

4.updateMany () 更新 多 条 == actualizar el estado del conjunto de los estudiantes = "detener" donde el estado = "ok"

db.students.updateMany({
   
   status:'ok'},{$set:{
   
   status:'stop'}})

5.replaceOne (), reemplace el documento previamente emparejado con el segundo documento

db.students.replaceOne({
   
   status:'ok'},{
   
   status:'stop',name:"xiao qi" ,age:10,num:1})

6. Si este documento no puede coincidir antes de {upsert: true}, se creará un nuevo documento automáticamente.

db.students.replaceOne({
   
   status:'o'},{
   
   status:'stop',name:"xiao qi" ,age:10,num:1},{upsert:true})

7. El estado de todos los estudiantes de 20 años o más se cambia a pendiente.

db.students.updateMany(
{age:{$gte:10}},{$set:{
   
   status:'pending'}}
)

8. Cambie la edad de los estudiantes mayores de 10 años a +1 y registre la hora de modificación. Use el modificador $ inc para actualizar el campo numérico y agregue n

db.students.updateMany(
{age:11},{$inc:{age:1},$currentDate:{createtime:true}}
)

9. Agrega un pasatiempo de campo para Xiao Ming (aihao)

db.students.updateMany(
{
	stuname:"小明"
},
{
	$set:{aihao:"足球,篮球,乒乓球"}
}
)

Supongo que te gusta

Origin blog.csdn.net/weixin_44703894/article/details/114905533
Recomendado
Clasificación