jquery表单选择器,mongdb基本操作和更新操作

1、创建数据库 use hqj 不会真正的创建db,只有insert之后才会创建
2、查看数据库show dbs
3、插入文档db.hqj.insert({name:'111'})
4、查看所有的文档show tables / show collections.查询文件中的集合db.hqj.find()/db.hqj.findOne();
5、更新文档db.hqj.update({name:'111},{$set:{name:'2222'}}) 前面是查询器后面是修改器
也可以var data = db.hqj.find();db.table.update(data,{name:'3333'}) 这个会把key覆盖,没有的会添加
db.table.update({name:"坚持"},{$set:{age:22,name:"name",sex:'男'}})会追加age和sex 如果数据库中有相同记录默认只会修改第一条
6、删除数据库中的记录db.table.remove({name:"111"}) db.table.remove({})删除所有 索引不会被删除
7、删除数据库中的集合db.table.drop()
8、删除数据db.dropDatabase()
9、查询当前数据库名称db.getName() //可以使用db.help() collections.help()
10、查询当前数据库状态db.stats()
11、可以定义function函数相当于存储过程 也可以使用eval()
12、更新操作db.table.update({查询器},{更新器},false||true(没有找到数据执行insert),false||true(是否批量更新))
    如果更新操作是db.table.update({name:'2'},{age:222})--->就会替换{age:22}替换之前的对象
    当更新操作有重复的_id的时候会报错.更新不了
13、更新器 
    1、$set 存在更新,不存在添加key db.table.update({name:1},{$set:{name:1111,age:23}}}) 如果没有age会添加age
    2、$inc 累加db.table.update({id:12},{$inc:{age:20}}) 这时候age会累加20原来的基础上+20 如果是负数-20 就会减去20
    3、$unset 删除指定的key db.table.update({id:1},{$unset:{age:"age"}}) 卸载unset.age:value可以随意写
    4、$push 添加到数组中,如果key不是数组.报错.如果key是数组类型,把元素追加到数组中,如果key不存在,创建新的数组追加元素 不会能批量添加
    5、$pushAll 如果把元素添加到数组中.需要批量添加,db.table.update({id:1},{$pushAll:{array:["1","2","3","4","5","6"]}})
    6、$addToSet 如果原数组中包含01值,db.table.update{{_id:1},{$addToSet:{array:'01'}}}这种情况不会添加,如果不存在01才会添加
    7、$pop 删除数组中的元素 -1 从头开始删除 1从尾部开始删除db.table.update({id:1},{$pop:{array:-1}})||db.table.update({},{$pop:{array:1}})
    8、$pull 删除数组中的元素,根据数组中指定元素删除db.table.update({id:1},{$pull:{books:"01"}})
    9、$pullAll批量删除数组中的元素db.table.update({id:1},{$pullAll:{array:['2','3']}})
    10、$ 更新数组中的对象比如:array:[{type:'type1',name:'name1'},{type:'type2',name:'name2'},{type:'type3',name:'name3'}]
        更新数组中的对象需要使用到数组的定位器$,查询条件必须是数组的类型比如{"array.type":'type3'}
      更新db.table.update({"array.type2":"type2"},{$set:{"array.$.newValue":'新值'}}) 为array.type2这个对象中添加一个newValue:'新值'
      array:[{type:'type1',name:'name1'},{type:'type2',name:'name2',newValue:'新值'},{type:'type3',name:'name3'}]
    11、$addToSet和$each结合实现数组的批量添加,db.table.update({_id:1},{$addToSet:{array:{$each:[1,2,3,4]}}})  
14、mongodb内存分配.
    mongodb会给每个文档分配内存和一个预留内存.但文档中的key不断增多,内存不断增大,预留内存也分配完了.这个时候更新操作的速度就下降,mongo会重新分配内存       
15、两个重要的函数runCommand和findAndModify 可以返回更新和删除的数据.但是一次只能更新一条数据
    var v = db.runCommand({                    var d = db.runCommand(
        findAndModify:'table', //集合名称                findAndModify:'colleactionName',
        query:{_id:1} ,//查询器                          query:{_id:1},      
        update:{$set:{age:1}},//更新器                   sort:{排序},
        new:true,                                       new:true, update:{} ,remove:true       
    }).value ; //返回更新后的数据                    }).value;

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>表单选择器</title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <style type="text/css">
  .yang{ border-collapse: collapse; width:500px;height:30px;border:1px solid red;"}
  </style>
  <script  type="text/javascript" src="jquery-1.7.1.min.js"></script>
  <script type="text/javascript">
  /*
    :input   // :input匹配表单中所有元素,包括select、textarea ; input表示匹配input标签。 
    :text   //匹配
    :password
    :radio
    :checkbox
    :submit
    :reset
    :image
    :button
    :file
    :hidden
  */
        window.onload=function(){
        $('#btnOk').click(function(){
        //隐藏所有的表单
            $(':input').hide();
            });
        };
  </script>
 </head>
 <body>
    <input type='text' />
  <hr/>
      <input type='password' />
  <hr/>
      <input type='file' />
  <hr/>
  <select></select>
  <text></text>
  <input type="button" id='btnOk' value='确定'  />
 </body>
</html>

本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/41,欢迎留言。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图