MongoDB 学习手册

mongoDB 增加数据
// mongoDB 增加数据:
    //新增数据insert( 字典 ) 表示插入一条数据,insert([字典]) 表示插入多条数据
    // db.text01.insert([
    //         {'name':"小智",'sex':'',"ID":"213123213213"},
    //         {'name':"小梁",'sex':'',"ID":"21231241231245"},
    //         {'name':"小龟",'sex':'',"ID":"21235454231245"}])

    //插入一条数据
    // db.text01.insertOne()
    //插入多条数据(数据为列表集)
    // db.text01.insertMany([
    //         {'name':"anec3",'sex':'',"ID":"213123213213"},
    //         {'name':"小美",'sex':'',"ID":"21231241231245"},
    //         {'name':"小华",'sex':'',"ID":"212354231245"}])

    //第二种增加数据的方式: save()
    // var do2 = [{'name':"小前",'sex':'',"ID":"21235454231245"},{'name':"小成",'sex':'',"ID":"21231241231245"}]
    // 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":"000000000000"}});

// 更新全部 name以''开头的数据ID=000000000000.
// db.text01.update({"name":/^小/},{$set:{"ID":"000000000000"}},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()  //删除此集合上的索引
原文地址:https://www.cnblogs.com/Anec/p/10165675.html