mongoDB常用操作指令

简单操作

// 插入数据
db.student.insert({name:"张三",age:18,sex:"男"});
db.student.insert([
   {name:"张三",age:18,sex:"男"},
   {name:"立三",age:18,sex:"男"},
   {name:"张5",age:18,sex:"男",friends:"丽丽"},  
   ]);
db.student.find();

db.student.find({"_id" : ObjectId("5f0424bad14c18331aa15d5a")});
db.student.find({age: 18,sex: "男"});
db.student.findOne({age: 18,sex: "男"});
db.student.find().count();
db.student.find();

db.student.update({"friends" : "丽丽"},{$set:{"age" : 5}});
db.student.update({"age" : 18},{$set:{"age" : 55}},{multi:true});
db.student.update({"age" : 55},{$unset:{"name":"hah"}});

//删除
db.student.find();
db.student.remove({"age":55});  // 删除多条
db.student.remove({"age":18},true);  //只删一条

// 命令行改变数据文件保存位置
mongod --dbpath E:\data2
// 命令行导入json文件到集合中
mongoimport --db 数据库名 --collection 集合名--drop --file json文件绝对路径  //drop表示清空集合

操作练习

use jozq;  // 使用数据库,无则创建
db;
db.colleges.insert([
{name:"j1",age:"12"},
{name:"j2",age:"22"},
{name:"j3",age:"32"},
{name:"j4",age:"42"},
]);
db.colleges.find();
db.colleges.insert({name:'j5'});
db.colleges.update({name:'j1'},{$set:{intro:"流行框架"}}); // 只更新一条数据
db.colleges.update({name:'j1'},{$set:{intro:"流行框架"}},{multi:true}); // 条件更新多条数据
db.colleges.update({name:'j1'},{$set:{name:"vue"}},{multi:true}); // 更新name
db.colleges.update({name:'j2'},{$unset:{age:1}}); // 删除字段age的内容
db.colleges.update({name:'j5'},{$set:{classes:{base:["html5","css3","js"],core:["vue","react","angular"]}}}); 
// 内嵌文档查询、添加数据、删除数据  点语法
db.colleges.find();
db.colleges.find({"classes.core":"react"});
db.colleges.update({name:'j5'},{$push:{"classes.core":"mongoDB"}});
db.colleges.update({name:'j5'},{$addToSet:{"classes.core":"Nodejs"}});
db.colleges.update({name:'j5'},{$pop:{"classes.core":"mongoDB"}});

//排序
db.colleges.find().sort({"score":1,"age":1})  // 先按score升序排序,再按age排序相同的score,-1为降序

// 大批量插入数据
/*
var arr = [];
for(var i =0;i<1000;i++){
    arr.push({counter:i});
} 
db.demos.insert(arr);
*/
db.demos.find({counter:{$gt:100,$lt:150}}); // 查找counter大于100小于150的数据
db.demos.find({counter:{$lte:10}});  // 小于等于
db.demos.find().limit(10);  // 前10条数据
db.demos.find().skip(10).limit(10); // 分页 查询11到20条数据

// 多集合联合查找
var money = db.collection1.findOne({"name":"hh"}).money;
db.collection2.find({"money":money}); 

// 逻辑操作符 查询小于100或大于200的数据
db.collection3.find($or:[{money:{$lt:100}},{money:{$gt:200}}]);

// $inc加运算符 money小于等于500的加20
db.collection3.updateMany(money:{$lte:500},{$inc:{money:20}});




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值