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>,相当于sql的where
<update>,相当于sql的set
{
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:"足球,篮球,乒乓球"}
}
)