一、用js写一个模拟用户登录日志表的信息
var userName = "chengxiang"; //声明一个登录名
var timeStamp = Date.parse(new Date()); //声明一个时间戳
var jsonData = {"loginUnser":userName,"loginTime":timeStamp }; //组成json字符串
var db = connect('log'); //链接数据库 链接的是哪一个数据库?
db.login.insert(jsonData); //插入数据 print('[demo]log print success'); //没有错误则显示成功 命令行输入: mongo demo.js 启动服务
此时 通过 show dbs 查询就会发现 多了log这个服务 二、批量插入和循环插入
批量插入比循环插入的速度要快很多,一般工作中我们使用批量插入。 demo如下:
1、循环插入:执行完毕大约需要 1744毫秒
var starTime = (new Date()).getTime(); //得到开始时间
var db = connect('log'); //链接数据库 开始循环
for(var i = 0 ; i<5000; i++){
db.test.insert({'num':i});
} var runTime = (new Date()).getTime()-starTime
print(runTime+"ms,OK") 2、批量插入:执行完毕大约需要 84毫秒
var starTime = (new Date()).getTime(); //得到开始时间
var db = connect('log'); //链接数据库 var tempArray = []
for(var i = 0 ; i<5000; i++){
tempArray.push({'num':i});
}
db.test.insert(tempArray) var runTime = (new Date()).getTime()-starTime
print(runTime+"ms,OK") update命令合集--增删改查
//$set 用来修改一个指定的键值(key) 没有这个值就默认添加
// db.workmateArray.update({"name":"MinJie"},{"$set":{age:23}}) //$set 修改嵌套内容
// db.workmateArray.update({"name":"MinJie"},{"$set":{"skill.SkillThree":'BBQ'}}) //$unset 用于将key删除
// db.workmateArray.update({"name":"MinJie"},{'$unset':{age:''}}) //$inc 对数字进行计算,它是对value值的修改,对字符串不起作用。
// db.workmateArray.update({"name":"MinJie"},{'$inc':{age:-2}}) //multi选项 multi设置为true则全部修改,false默认修改1个
// db.workmateArray.update({},{$set:{interset:[]}},{multi:true}) //upsert选项 在找不到匹配的值的情况加直接添加。比如name:chengxiang 数据库没有,则直动添加
// db.workmateArray.update({"name":"chengxiang"},{$set:{age:23}},{upsert:true}) // $pust 追加数组,追加数组中的值
// db.workmateArray.update({"name":"chengxiang"},{"$set":{interset:['dancing']}})
// db.workmateArray.update({"name":"chengxiang"},{"$push":{interset:'web'}}) // $ne 查找是否存在,如果值不存在则修改,如果值存在就不修改。相当于是没有这个东西我就给你,有就不给你了。
// db.workmateArray.update({"name":"chengxiang",'interset':{"$ne":"web666"}},{"$push":{interset:"web666"}}) // $addToSet 查找值是否存在,不存在就push上去
// db.workmateArray.update({"name":"chengxiang"},{$addToSet:{interset:"web777"}}) // $each 批量追加,一次性追加多个值。先用$addToSet来判断是否存在,然后直接$each直接批量追加
// var bbq = ['a','b','c']
// db.workmateArray.update({'name':"chengxiang"},{$addToSet:{interset:{$each:bbq}}}) // $pop 删除数组的值,只删除一次,参数 1 是从最后面删除,参数 -1 是从最开始删除
// db.workmateArray.update({"name":"chengxiang"},{$pop:{interset:1}}) //数组定位修改 通过索引的方式来修改 数组
// db.workmateArray.update({"name":"chengxiang"},{$set:{"interset.0":'dancing'}})

最新文章

  1. ASP.NET Web API标准的&ldquo;管道式&rdquo;设计
  2. jquery插件编写模版
  3. C++: DataGridView::DataSource
  4. 工作随笔——一次简单的Maven加速构建实战
  5. webexam项目杂记2
  6. POJ 2436 二进制枚举+位运算
  7. [my]_ubuntu12.10_/etc/apt/sources.list
  8. Javascript 数组与字典
  9. mac下的改装人生——第一次拆卸mbp,加入内存
  10. BZOJ 1911: [Apio2010]特别行动队( dp + 斜率优化 )
  11. C#格式化字符串中转义大括号“{}”
  12. HDU1754 I hate it(线段树 单点修改)
  13. Codeforces543BDestory Roads心得
  14. C++ queue deque
  15. kubernetes ceph-rbd挂载步骤 类型PersistentVolume
  16. 【转】实习小记-python中可哈希对象是个啥?what is hashable object in python?
  17. css3 @media 实现响应式布局
  18. Android-Java-面向对象的代码例子
  19. jvm(2)类的初始化(一)
  20. sicily 1500. Prime Gap

热门文章

  1. [React Native] Target both iPhone and iPad with React Native
  2. 系统报 “client没有所需的特权” 的解决方法
  3. CentOS 7 安装Nginx做反向代理
  4. ORACLE NOLOGGING研究
  5. 新建maven web工程报错
  6. 获取android的SDK或者手机目录路径
  7. P1290sk抓螃蟹
  8. php 获取随机字符串(原创)
  9. [MVC.NET] Asp.Net MVC3 简单入门第一季
  10. WinForm进程 线程