mongodb 的js脚本或pymongodb脚本修改数据库的字段值
使用
data$ mongo localhost:27017/jd_51job_raw updateName.js --shell
js 脚本: updateName.js
var cursor = db.getCollectionNames();
for(i=0;i<cursor.length;i++){
if("system.indexes"==cursor[i]||"system.profile"==cursor[i]){
print("Find system");
continue;
}
else{
curCol = db.getCollection(cursor[i]);
print("now processing...",curCol);
print(curCol.count());
curCol.find().forEach(function(item){
curCol.update({"_id":item._id},{"$set":{"jdJob.jobDiploma":item.jobDiploma}});
// curCol.update({"_id":item._id},{"$unset":{"jobDiploma":0}});
});
printjson(curCol.findOne()); } }
updateName.py
#!/usr/bin/env python
# coding=utf-8 from pymongo import MongoClient
from bson.json_util import dumps from multiprocessing import Pool client = MongoClient("mongodb://localhost:xxxxx/")
db = client.jd_51job_raw cols = db.collection_names(include_system_collections=False)
cols = sorted(cols) def del_jobDiploma(colName):
print "=="*20,colName
col = db.get_collection(colName)
col.update({},{"$unset":{"jobDiploma":""}},multi=True)
print dumps(col.find_one(),ensure_ascii=False,indent=4)
print "" # 10个进程一起来!
pools = Pool(10)
pools.map(del_jobDiploma,cols)
mongodb 的js脚本或pymongodb脚本修改数据库的字段值的更多相关文章
- 一个监控oracle数据库某个字段值变化并发送邮件报警的脚本
talk is cheap,here is the code: #!/bin/sh export ORACLE_HOME=/u01/app/oracle/product//client_1/ expo ...
- js间隔一段时间打印数据库中的值
https://blog.csdn.net/qq_33599109/article/details/78417474
- ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_201 ...
- Web前端性能优化教程07:精简JS 移除重复脚本
本文是Web前端性能优化系列文章中的第七篇,主要讲述内容:精简Javascript代码,以及移出重复脚本.完整教程可查看: 一.精简javascript 基础知识 精简:从javascript代码中 ...
- JS 动态加载脚本 执行回调_转
关于在javascript里面加载其它的js文件的问题可能很多人都遇到过,但很多朋友可能并不知道怎么判断我们要加载的js文件是否加载完成,如果没有加载完成我们就调用文件里面的函数是不会成功的.本文讲解 ...
- JS 动态加载脚本 执行回调
JS 动态加载脚本 执行回调 关于在javascript里面加载其它的js文件的问题可能很多人都遇到过,但很多朋友可能并不知道怎么判断我们要加载的js文件是否加载完成,如果没有加载完成我们就调用文件 ...
- SQL脚本循环修改数据库字段类型
数据库在设计的时候也许考虑不全面,导致某些字段类型不太准确.比如设计的时候是varchar(1024),但是实际使用的时候却发现太小了,装不下,于是需要修改字段类型为ntext什么的. 我最近就遇到了 ...
- unity中js脚本与c#脚本互相调用
unity中js脚本与c#脚本互相调用 test1.js function OnGUI() { if(GUI.Button(Rect(25,25,100,30),"JS Call CS& ...
- 以脚本方式直接执行修改密码的passwd命令
以脚本方式直接执行修改密码的passwd命令: 参考: http://bbs.csdn.net/topics/390001865 http://bbs.chinaunix.net/thread-993 ...
随机推荐
- jquery选取iframe
$(window).load(function(){ $('iframe').contents().find('form'); })
- 【转】DBMS_STATS.GATHER_TABLE_STATS详解 2012-04-22 09:20:10
[转]DBMS_STATS.GATHER_TABLE_STATS详解 2012-04-22 09:20:10 分类: Linux 由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至 ...
- Spring MVC静态资源处理——<mvc:resources /> ||<mvc:default-servlet-handler /> 转载
Spring MVC静态资源处理——<mvc:resources /> ||<mvc:default-servlet-handler /> mvcmvc:resources ...
- for 与 foreach 性能
For 与Foreach 性能 差别在不同的场景下会有不同的差异. 对于不同的目标 , 如 T[] 与 IEnumerable<T> 两个的性能就感觉出来了,对于T[] 都快. ...
- Spring和SpringMVC的区别
spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单 ...
- HTML页面上获取鼠标的位置(备忘)
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- The connection to adb is down, and a severe error has occured.
启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有ad ...
- 并行计算之Memory barrier(内存
本文转载自:http://name5566.com/4535.html 参考文献列表:http://en.wikipedia.org/wiki/Memory_barrierhttp://en.wiki ...
- Eclipse的中文字体设置
打开eclipse中文字体很小,简直难以辨认.在网上搜索发现这是由于Eclipse 用的字体是 Consolas,显示中文的时候默认太小了.解决方式有两种:一.把字体设置为Courier New 操 ...
- php 添加redis扩展(二)
php代码操作redis 1.连接 <?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 63 ...