简单操作
// 插入数据
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}});