正文
MongoDB 学习手册 - CURD
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
mongoDB 增加数据
// mongoDB 增加数据:
//新增数据insert( 字典 ) 表示插入一条数据,insert([字典]) 表示插入多条数据
// db.text01.insert([
// {'name':"小智",'sex':'男',"ID":""},
// {'name':"小梁",'sex':'女',"ID":""},
// {'name':"小龟",'sex':'男',"ID":""}]) //插入一条数据
// db.text01.insertOne()
//插入多条数据(数据为列表集)
// db.text01.insertMany([
// {'name':"anec3",'sex':'男',"ID":""},
// {'name':"小美",'sex':'女',"ID":""},
// {'name':"小华",'sex':'男',"ID":""}]) //第二种增加数据的方式: save()
// var do2 = [{'name':"小前",'sex':'男',"ID":""},{'name':"小成",'sex':'女',"ID":""}]
// db.text01.save(do2)
mongoDB 修改数据:
// mongoDB 修改数据:
// 语法格式:
// db.collection.update(
// <query>, //update的查询条件,类似sql update查询内where后面的。
// <update>, //update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的.
// {
// upsert: <boolean>, //可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
// multi: <boolean>, //可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
// writeConcern: <document> //可选,抛出异常的级别
// }
// ) // 更新name = '小成' ID = '' 的一条记录:
// db.text01.update({"name":'小成'},{$set:{"ID":""}}); // 更新全部 name以'小'开头的数据ID=000000000000.
// db.text01.update({"name":/^小/},{$set:{"ID":""}},false,true); // 为没有count的字段 添加一个count=50字段,
// db.a1.update(
// {"count":{$exists : false}},
// {"$set":{"count" : 50}},
// false,
// true
// )
mongoDB 删除数据
// mongoDB 删除数据:(emove()方法)
// 语法结构:
// db.collection.remove(
// <query>, //删除的文档的条件。
// {
// justOne: <boolean>, //(可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
// writeConcern: <document> //(可选)抛出异常的级别。
// }
// ) // 删除匹配的记录
// db.text01.remove({'name':"小成"}) // 删除一条匹配的记录
// db.text01.remove({'sex':"女"},true) // 删除所有记录
// b.text01.remove({}) // remove() 方法 并不会真正释放空间。
// 需要继续执行 db.repairDatabase() 来回收磁盘空间。
// db.repairDatabase() // 官方建议使用:
// db.text01.deleteOne({'name':'anec'})
// db.text01.deleteMany()
mangoDB 查询语法
// ------------------------------------------------------------ // mangoDB 查询语法:
// db.collection.find(
// query, //可选,使用查询操作符指定查询条件
// projection //可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
// ) //显示指定字段(id 要加下划线)
// db.a1.find({},{_id:0,name:1,sex:1}).pretty() //排除不显示的字段
// db.a1.find({},{ID:0,count:0} ) // 以格式化的方式来显示所有文档
// db.a1.find().pretty() //返回一个找到到的数据
// db.a1.findOne() // *************************** // 比较符:
// 查找到name = a2 的数据:
// db.a1.find({'name':'a2'}) // 查找到count 小于 40 的数据
// db.a1.find({"count":{$lt:40}}).pretty() // 查找到count 大于 60 的数据
// db.a1.find({"count":{$gt:60}}).pretty() // 查找到count 小于等于 35 的数据
// db.a1.find({"count":{$lte:35}}).pretty() // 查找到count 大于等于 64 的数据
// db.a1.find({"count":{$gte:64}}).pretty() // 查找cont 大于50小于80
// db.a1.find({'count':{$gt:50,$lt:80}}) // 查找到count 不等于 64 的数据
// db.a1.find({"count":{$ne:64}}).pretty() // *************************** // MongoDB AND 条件(多个条件查询)
// 查询语法:
// db.col.find({key1:value1, key2:value2}).pretty() // db.a1.find({'sex':'女','count':{$gt:50}}) // OR 条件
// db.a1.find({$or:[{'name':'a1'},{'name':"a2"}]}) // ***************************
// 查询指定数据内的数据
// db.a1.find({字段名:{'$in':[字段值1,字段值2,字段值3']}})
// db.a1.find({'name':{'$in':['a1','a2','a3']}})
// 查询不在指定数据内的数据
// db.a1.find({字段名:{'$nin':[字段值1,字段值2,字段值3']}})
// db.a1.find({'name':{'$nin':['a1','a2','a3']}})
// ***************************
// not
// db.a1.find({字段名:{'$not':[运算符表达式]}})
// db.a1.find({'count':{$not: {$lte:74}}})
//nor = not or
// db.a1.find({字段名:{'$nor':[运算符表达式]}})
// db.a1.find({$nor:[{'sex':'男'},{'count':{$lte:20}}]})
//***************************
// $exists 取出没有的字段
// db.a1.find({'count':{$exists:0}})
//***************************
// $type 对用类型的数据 2:字符串
// db.a1.find({'name':{$type:2}})
// ***************************
//显示前两条数据
// db.a1.find().limit(2) //跳过前两条显示两条数据
// db.a1.find().limit(2).skip(2) //升序排序
// db.a1.find({},{_id:1,name:1}).sort({name:1}) //降序排序
// db.a1.find({},{_id:1,name:1}).sort({name:-1}) //skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。 // ***************************
查找到操作:
find_one_and_delete() //查找后删除 find_one_and_replace() //查找后替换 find_one_and_update() //查找后更新 create_index() //在集合上创建索引 create_indexes() //在集合上创建一个或多个索引 drop_index() //删除此集合上的索引