一、用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'}})

3、用js文件写mongo命令+update命令的更多相关文章

  1. gulp的使用(二)之gulpfile.js文件的配置

    Gulpfile.js是什么文件: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她, ...

  2. mongorc.js文件

    当启动的时候,mongo检查用户HOME目录下的一个JavaScript文件.mongorc.js.如果找到,mongo在首次显示提示信息前解析.mongorc.js的内容.如果你使用shell执行一 ...

  3. gulp压缩html,css,js文件流程、监听任务、使用gulp创建服务器、同时运行多个任务、反向代理

    一.初始化 首先先做一个项目初始化,用来记录你项目中用到的工具 再你项目文件下打开一个控制台,输入命令 yarn init -y 进行初始化 输入命令yarn add gulp -g  --- 全局安 ...

  4. Vue中引入静态JS文件(爬坑)

    前言(背景介绍) 开发的项目需要与Threejs的3D项目结合在一起,需要静态引入,jquery.js,stats.js,three.js,ThreeBSP.js等静态文件.开发环境是iview-ad ...

  5. Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件

    一.安装,从官网上下载安装,安装基本一直点击下一步就行.注意:node.js基于Python的,安装node.js之前电脑上要安装Python,最好是Python2.7或2.6. 二.cmd进入命令行 ...

  6. vue引入自己写的js文件

    话不多说,直接上代码呀~ 先来个结构图: 中规中矩的vue-cli就写了一个自己的js文件 那么我想要引入到vue组件里. 1.首先写我的js文件 2.引入到vue组件!!!一定要用{}把方法名拿过来 ...

  7. 自写jquery网页回到顶部效果,渐隐图标,引用js文件就可以

    唔.进来开发需求,当网页内容草鸡多的时候,用户就须要有个button高速回到顶部,而不是自己去滚滑轮~ 原本以为比較难的说,由于上头要求所实用js来实现,哪个页面引用,哪个页面显示. 于是乎,本屌丝就 ...

  8. 如何写一个自定义的js文件

    自定义一个Utils.js文件,在其中写js代码即可.如: (function(w){ function Utils(){} Utils.prototype.getChilds = function( ...

  9. 函数直接写在html页面的<script>里可以调用,但是单独放在js文件里不能调用

    1.函数直接写在页面相当于是你本页调用,所以理所应当可以调用 2.js单独文件不能调用是因为你没有引用js文件,如果引用了的话,也是可以调用的. 引用方式,你可以直接拖拽(我一般都是拖拽,因为路径准确 ...

随机推荐

  1. Linux实时查看日志,访问前10IP 和相关命令

    Nginx日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += 1 ...

  2. hdu4849 Wow! Such City!(最短路dijkstra)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:pid=4849">http://acm.hdu.edu ...

  3. 详解Google第二代TPU 既能推理又能训练 性能霸道

    详解Google第二代TPU 既能推理又能训练 性能霸道 转自:http://www.cnbeta.com/articles/tech/613639.htm 5月18日凌晨,Google CEO Su ...

  4. Sublime Text 2 界面主题 推荐 Flatland

    先搜索下THEME-FLATLAND 安装完后在preferences中选择settings-usr { "color_scheme": "Packages/Theme ...

  5. Python中的traceback模块

    traceback模块被用来跟踪异常返回信息. 如下例所示: 1.直接打印异常信息 import traceback try: raise SyntaxError, "traceback t ...

  6. Hdu-5992 2016ACM/ICPC亚洲区青岛站 K.Finding Hotels KDtree

    题面 题意:二维平面上有很多点,每个点有个权值,现在给你一个点(很多组),权值v,让你找到权值小于等于v的点中离这个点最近的,相同的输出id小的 题解:很裸的KDtree,但是查询的时候有2个小限制, ...

  7. 几道leetcode不会做的题目

    1.set没有back()函数,今天想到用这个,才发现没有. 2. tuple的initialize_list construct好像不能使用,其实之前没使用过tuple,都是pair,复杂一点的自己 ...

  8. 13.javaweb xml标签库详解

    一.XML标签简介 1,  作用 2,  标签分类 XPath 路径标记 查找节点元素示例 2.1<x:out> 2.2<x:parse> 操作示例:导入XML文件,解析,然后 ...

  9. Android一对多蓝牙连接示例APP

    一对多蓝牙连接示例,基于Google BluetoothChat修改,实现一对多聊天(一个服务端.多个客户端),类似聊天室. 主要功能: 客户端的发出的消息所有终端都能收到(由服务端转发) 客户端之间 ...

  10. 关于电脑安装新硬盘,出现无法是识别设备,03F0问题解答。

    问题说明:在添加新的硬盘,切确定硬盘没有坏的情况下,无法识别出新的硬盘. 解决方案: 1.检查bios系统里的安全模式,是否处于开启中.因为在windows 8.1以上的版本中,不开启的情况下只能读取 ...