有点乱,大家凑合看哈 0.0
查询
db.student.find();
db.student.find({sex: "女"});
db.student.find().count();
插入
db.student.insert((name: "张三", age: 15, sex: "男"));
插入多条
db.student.insert([
{name: "张三", age: 15, sex: "女"},
{name: "李四", age: 65, sex: "男",friend:"丽丽"},
{name: "王五", age: 35, sex: "男"},
{name: "赵六", age: 16, sex: "男"},
{name: "小七", age: 17, sex: "女"},
]);
修改(默认修改一条,如没有此属性将会自动添加)
未涉及的数据将会删除
db.student.update({"name" : "王五"},{"age" : 88});
修改选中数据
db.student.update({"name" : "小七"},{$set:{name: "七小",age: 18}});
移除数据中的某个属性
db.student.update({"name" : "李四"},{$unset:{sex:1 }});
修改多条(符合条件的都会被修改)
db.student.updateMany({"sex" : "男"},{$set:{hobby: "学习"}});
删除(默认删除所有符合条件数据)
db.student.remove({"age":88});
删除一条
db.student.remove({"age":88},true);
删除所有
db.student.remove({ });
练习
//1.创建并进入kawhi数据库
use kawhi;
db
//2.向数据库colleges集合中插入六个文档
db.colleges.insert([
{name: "HTML5"},
{name: "CSS3"},
{name: "JS"},
{name: "NODEJS"},
{name: "PYTHON"},
{name: "PHP", intro: "世界上第二好的语言"}
]);
//3.查询colleges集合中的文档
db.colleges.find();
//4.再插入一个文档
db.colleges.insert({name: "golang"});
//5.统计数据库colleges集合中的文档数量
db.colleges.find().count();
//6.查询数据库colleges集合中name为HTML5的文档
db.colleges.find({name: "HTML5"});
//7.向数据库colleges集合中的name为HTML5的文档,添加一个intro属性
db.colleges.update({name: "HTML5"},{$set:{intro: "全栈工程师"}});
//8.使用{name:"大数据"}替换name为 “python”的文档
db.colleges.update({name: "PYTHON"},{$set:{name: "大数据"}});
//9.删除name为PHP的文档的intro属性
db.colleges.update({name: "PHP"},{$unset:{intro: 1}});
//10.向name为HTML5的文档中,添加一个
db.colleges.update({name: "HTML5"},{$set:{classes:{base:["h5+c3","js","jQuery","abc"], core:["三大框架","node.js"]}}});
//11.查询有核心课程为 三大框架 的文档
db.colleges.find({"classes.core": "三大框架"});
//12.向name为HTML5的文档中。添加一个新的核心课程 “微信小程序”
db.colleges.update({name: "HTML5"},{$push:{"classes.core": "微信小程序"}});
db.colleges.update({name: "HTML5"},{$addToSet:{"classes.core": "公众号开发"}});
//13.向name为HTML5的文档中,删除基础课程“abc”
db.colleges.update({name: "HTML5"}, {$pull:{"classes.base": "abc"}});
//14.删除colleges集合
db.colleges.remove({ });
db.colleges.drop();
//15.向集合demos中插入10000个文档
var arr = [];
for(var i=0; i<10000; i++){
arr.push({counter: i});
}
db.demos.insert(arr);
db.demos.find();
//16.查询demos中counter为666的文档
db.demos.find({counter: 666});
//17.查询demos中counter小于666的文档
db.demos.find({counter: {$lt: 666}});
//18.查询demos中counter大于666的文档
db.demos.find({counter: {$gt: 666}});
//19.查询demos中counter大于66小于666的文档
db.demos.find({counter: {$gt: 66, $lt: 666}});
//20.查看demos集合中的前10条数据
db.demos.find({counter: {$lte: 10}});
db.demos.find().limit(10);
//21.查看demos集合中的第11条到20条数据
db.demos.find().skip(10).limit(10);
//22.查看demos集合中的第21条到30条数据
db.demos.find().skip(20).limit(10);
//23.查询HTML5学院的所有老师
var cno = db.person.findOne({"cname" : "HTML5学院"}).cno;
db.section.find({cno: cno});
//24.查询JAVA学院的所有员工
var cno = db.person.findOne({"cname" : "Java学院"}).cno;
db.section.find({cno: cno});
//25.查询工资大于20000的员工
db.section.find({wages: {$gt: 20000}});
//26.查询工资在10000-20000之间的员工
db.section.find({wages: {$gte: 10000, $lte: 20000}});
//27.查询工资小于10000或大于25000的员工
db.section.find({$or:[{wages: {lt: 10000}},{wages: {gt: 20000}}]});
//28.为所有薪资低于10000的员工增加工资1000元
db.section.updateMany({wages:{$lte: 10000}}, {$inc:{wages: 1000}});
//29.排列(1:升序;2:降序)
db.section.find().sort({wages:-1});
db.section.find().sort({wages:-1, _id: -1});
//30.查询指定数据(1显示0不显示)
db.section.find({ }, {name: 1, _id: 0, wages: 1});