MongoDB常用操作命令大全

MongoDB常用操作命令大全
MongoDB常用操作命令大全

MongoDB常用操作命令大全

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令

如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。

一、数据库常用命令

1、Help查看命令提示

复制代码代码如下:

help

db.help();

db.yourColl.help();

db.youColl.find().help();

rs.help();

2、切换/创建数据库

复制代码代码如下:

use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库

3、查询所有数据库

复制代码代码如下:

show dbs;

4、删除当前使用数据库

复制代码代码如下:

db.dropDatabase();

5、从指定主机上克隆数据库

复制代码代码如下:

db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

6、从指定的机器上复制指定数据库数据到某个数据库

复制代码代码如下:

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

7、修复当前数据库

复制代码代码如下:

db.repairDatabase();

8、查看当前使用的数据库

复制代码代码如下:

db.getName();

db; db和getName方法是一样的效果,都可以查询当前使用的数据库

9、显示当前db状态

复制代码代码如下:

db.stats();

10、当前db版本

复制代码代码如下:

db.version();

11、查看当前db的链接机器地址

复制代码代码如下:

db.getMongo();

二、Collection聚集集合

1、创建一个聚集集合(table)

复制代码代码如下:

db.createCollection(“collName”, {size: 20, capped: 5, max: 100});//创建成功会显示{“o k”:1}

//判断集合是否为定容量db.collName.isCapped();

2、得到指定名称的聚集集合(table)

复制代码代码如下:

db.getCollection("account");

3、得到当前db的所有聚集集合

复制代码代码如下:

db.getCollectionNames();

4、显示当前db所有聚集索引的状态

复制代码代码如下:

db.printCollectionStats();

三、用户相关

1、添加一个用户

复制代码代码如下:

db.addUser("name");

db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

2、数据库认证、安全模式

复制代码代码如下:

db.auth("userName", "123123");

3、显示当前所有用户

复制代码代码如下:

show users;

4、删除用户

复制代码代码如下:

db.removeUser("userName");

四、聚集集合查询

1、查询所有记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find();

相当于:select* from userInfo;

默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”

但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。

2、查询去掉后的当前聚集集合中的某列的重复数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.distinct("name");

会过滤掉name中的相同数据

相当于:select distict name from userInfo;

3、查询age = 22的记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({"age": 22});

相当于:select * from userInfo where age = 22;

4、查询age > 22的记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$gt: 22}});

相当于:select * from userInfo where age >22; 5、查询age < 22的记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$lt: 22}});

相当于:select * from userInfo where age <22; 6、查询age >= 25的记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$gte: 25}});

相当于:select * from userInfo where age >= 25;

7、查询age <= 25的记录

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$lte: 25}});

8、查询age >= 23 并且age <= 26

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$gte: 23, $lte: 26}});

9、查询name中包含mongo的数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({name: /mongo/});

//相当于%%

[code]select * from userInfo where name like …%mongo%';

10、查询name中以mongo开头的

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({name: /^mongo/});

select * from userInfo where name like …mongo%';

11、查询指定列name、age数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({}, {name: 1, age: 1});

相当于:select name, age from userInfo;

当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。

12、查询指定列name、age数据, age > 25

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$gt: 25}}, {name: 1, age: 1});

相当于:select name, age from userInfo where age >25;

13、按照年龄排序

复制代码代码如下:

升序:https://www.360docs.net/doc/9f14523415.html,erInfo.find().sort({age: 1});

降序:https://www.360docs.net/doc/9f14523415.html,erInfo.find().sort({age: -1});

14、查询name = zhangsan, age = 22的数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({name: 'zhangsan', age: 22});

相当于:select * from userInfo where name = …zhangsan' and age = …22';

15、查询前5条数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find().limit(5);

相当于:selecttop 5 * from userInfo;

16、查询10条以后的数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find().skip(10);

相当于:select * from userInfo where id not in (

selecttop 10 * from userInfo

);

17、查询在5-10之间的数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find().limit(10).skip(5);

可用于分页,limit是pageSize,skip是第几页*pageSize

18、or与查询

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({$or: [{age: 22}, {age: 25}]});

相当于:select * from userInfo where age = 22 or age = 25;

19、查询第一条数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.findOne();

相当于:selecttop 1 * from userInfo;

https://www.360docs.net/doc/9f14523415.html,erInfo.find().limit(1);

20、查询某个结果集的记录条数

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({age: {$gte: 25}}).count();

相当于:select count(*) from userInfo where age >= 20; 21、按照某列进行排序

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.find({sex: {$exists: true}}).count();

相当于:select count(sex) from userInfo;

五、索引

1、创建索引

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.ensureIndex({name: 1});

https://www.360docs.net/doc/9f14523415.html,erInfo.ensureIndex({name: 1, ts: -1});

2、查询当前聚集集合所有索引

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.getIndexes();

3、查看总索引记录大小

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,erInfo.totalIndexSize();

4、读取当前集合的所有index信息

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.reIndex();

5、删除指定索引

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.dropIndex("name_1");

6、删除所有索引索引

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.dropIndexes();

六、修改、添加、删除集合数据

1、添加

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.save({name: …zhangsan', age: 25, sex: true});

添加的数据的数据列,没有固定,根据添加的数据为准

2、修改

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.update({age: 25}, {$set: {name: 'changeName'}}, false, true);

相当于:update users set name = …changeName' where age = 25;

https://www.360docs.net/doc/9f14523415.html,ers.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);

相当于:u pdate users set age = age + 50 where name = …Lisi';

https://www.360docs.net/doc/9f14523415.html,ers.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true); 相当于:update users set age = age + 50, name = …hoho' where name = …Lisi';

3、删除

https://www.360docs.net/doc/9f14523415.html,ers.remove({age: 132});

4、查询修改删除

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.findAndModify({

query: {age: {$gte: 25}},

sort: {age: -1},

update: {$set: {name: 'a2'}, $inc: {age: 2}},

remove: true

});

db.runCommand({ findandmodify : "users",

query: {age: {$gte: 25}},

sort: {age: -1},

update: {$set: {name: 'a2'}, $inc: {age: 2}},

remove: true

});

update 或remove 其中一个是必须的参数; 其他参数可选。

参数详解默认值

query 查询过滤条件{}

sort 如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作{}

remove 若为true,被选中对象将在返回前被删除N/A

update 一个修改器对象

N/A

new 若为true,将返回修改后的对象而不是原始对象。在删除操作中,该参数被忽略。false

fields 参见Retrieving a Subset of Fields (1.5.0+)

All fields

upsert 创建新对象若查询结果为空。示例(1.5.4+)

false

七、语句块操作

1、简单Hello World

复制代码代码如下:

print("Hello World!");

这种写法调用了print函数,和直接写入"Hello World!"的效果是一样的;

2、将一个对象转换成json

tojson(new Object());

tojson(new Object('a'));

3、循环添加数据

复制代码代码如下:

> for (var i = 0; i < 30; i++) {

... https://www.360docs.net/doc/9f14523415.html,ers.save({name: "u_" + i, age: 22 + i, sex: i % 2});

... };

这样就循环添加了30条数据,同样也可以省略括号的写法

复制代码代码如下:

> for (var i = 0; i < 30; i++) https://www.360docs.net/doc/9f14523415.html,ers.save({name: "u_" + i, age: 22 + i, sex: i % 2});

也是可以的,当你用https://www.360docs.net/doc/9f14523415.html,ers.find()查询的时候,显示多条数据而无法一页显示的情况下,可以用it查看下一页的信息;

4、find 游标查询

复制代码代码如下:

>var cursor = https://www.360docs.net/doc/9f14523415.html,ers.find();

> while (cursor.hasNext()) {

printjson(cursor.next());

}

这样就查询所有的users信息,同样可以这样写

复制代码代码如下:

var cursor = https://www.360docs.net/doc/9f14523415.html,ers.find();

while (cursor.hasNext()) { printjson(cursor.next); }

同样可以省略{}号

5、forEach迭代循环

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.find().forEach(printjson);

forEach中必须传递一个函数来处理每条迭代的数据信息

6、将find游标当数组处理

复制代码代码如下:

var cursor = https://www.360docs.net/doc/9f14523415.html,ers.find();

cursor[4];

取得下标索引为4的那条数据

既然可以当做数组处理,那么就可以获得它的长度:cursor.length();或者cursor.count(); 那样我们也可以用循环显示数据

复制代码代码如下:

for (var i = 0, len = c.length(); i < len; i++) printjson(c[i]);

7、将find游标转换成数组

复制代码代码如下:

> var arr = https://www.360docs.net/doc/9f14523415.html,ers.find().toArray();

> printjson(arr[2]);

用toArray方法将其转换为数组

8、定制我们自己的查询结果

只显示age <= 28的并且只显示age这列数据

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.find({age: {$lte: 28}}, {age: 1}).forEach(printjson);

https://www.360docs.net/doc/9f14523415.html,ers.find({age: {$lte: 28}}, {age: true}).forEach(printjson);

排除age的列

复制代码代码如下:

https://www.360docs.net/doc/9f14523415.html,ers.find({age: {$lte: 28}}, {age: false}).forEach(printjson);

9、forEach传递函数显示信息

复制代码代码如下:

db.things.find({x:4}).forEach(function(x) {print(tojson(x));});

八、其他

1、查询之前的错误信息

复制代码代码如下:

db.getPrevError();

2、清除错误记录

复制代码代码如下:

db.resetError();

查看聚集集合基本信息

1、查看帮助db.yourColl.help();

2、查询当前集合的数据条数db.yourColl.count();

3、查看数据空间大小https://www.360docs.net/doc/9f14523415.html,erInfo.dataSize();

4、得到当前聚集集合所在的db https://www.360docs.net/doc/9f14523415.html,erInfo.getDB();

5、得到当前聚集的状态https://www.360docs.net/doc/9f14523415.html,erInfo.stats();

6、得到聚集集合总大小https://www.360docs.net/doc/9f14523415.html,erInfo.totalSize();

7、聚集集合储存空间大小https://www.360docs.net/doc/9f14523415.html,erInfo.storageSize();

8、Shard版本信息https://www.360docs.net/doc/9f14523415.html,erInfo.getShardVersion()

9、聚集集合重命名https://www.360docs.net/doc/9f14523415.html,erInfo.renameCollection("users"); 将userInfo重命名为users

10、删除当前聚集集合https://www.360docs.net/doc/9f14523415.html,erInfo.drop();

复制代码代码如下:

show dbs:显示数据库列表

show collections:显示当前数据库中的集合(类似关系数据库中的表)

show users:显示用户

use :切换当前数据库,这和MS-SQL里面的意思一样

db.help():显示数据库操作命令,里面有很多的命令

db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令

db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)

db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

red hat linux常用操作命令汇总

Red hat linux常用操作命令汇总的一些命令: 1.查看硬件信息 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载# cat /proc/loadavg # 查看系统负载磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况网络# ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息进程

CAM350 8.0 编辑菜单(Edit)

CAM350 8.0 编辑菜单(Edit) 编辑菜单之一: 1.undo:撤消。也就是返回上一步(快捷键 U)。 2.redo:恢复。如果你undo 用错了,就可以用redo 恢复(快捷键 Ctrl U)。 3.Move:移动。 选择MOVE 命令后,再按A 是全选,按I 是反选,按W 是框选(按W 就是要用鼠标把整个元素都框上才能选中),按C 的效果很特别(按C 只要选中该元素的一小部分就能选上,)什么都不按的话就是单元素选择。 这里对操作界面进行具体介绍: 左上角的“数字:数字”:就是栅格的间距,可自己设置比例(按V 就可显示栅格,按S 就是光标随删格移动)。 “L 数字”:设置角度,有0,45 和90 可以选择(快捷键 O)。 “Move To Layer”:移动到其它层。选择你要移动到的层,可以是一层,也可是多层。 紧跟着的就是筛选元素的类型,有drw,flsh,drill,mill 等(不同的命令有不同的类型可选择,有时还会有VIA 等选项)。 “Filter”:筛选元素。 Ddoces:筛选D 码。填上你所要D 码的号数,两个以上用逗号隔开。 0 或空白 = 全选 #,#,…… 包含 #:#,…… 范围 -#,-#:#,…… 不包含 Tool References:筛选钻孔。 Polygon Filter:多边形过滤。 Text Filter:文字过滤。 "Prev":功能跟按W 的效果差不多,也是框选,但它有一个特性,就是可以记住上一次曾经选过的东东,请活用这功能! “SelectAll”:跟按A 的全完一样,也就是全选啦。

右下角那“数字:数字”就是X,Y 的坐标系数(可更改),这是一个能令操作精度变得更高的命令,请多加运用。双击后出现一个小界面框,旁边的“Abs”是绝对坐标,“Rel”是相对坐标。“Abs”是指以origin 为基准,“Rel”则是以你在主画面中最后一次鼠标左键操作为基准。 坐标系数的右边显示的是单位MM 或MILS,更改单位在“Settings”菜单里。 4.Copy:复制。Copies:这里填上你要复制的倍数,To Layers:选择你要复制到的层,可以是一层,也可是多层。 5.Delete:删除。 6.Rotate:旋转。有几种角度可以选择,也可以自定义旋转角度。 7.Mirror:镜像。Vertical 是X 轴镜像,再按一下就变成Horizontal 是Y 轴镜像。 编辑菜单之二: 1. Layers(层操作):每一个PCB 板基本上都是由线路层、阻焊层、字符层、钻孔数据层、DRILL 层所组成的,在CAM350 中,每载入一层都会以不同的颜色分别开,CAM350 提供了强大的层处理功能。如:层对齐、增加层、层排序、层删除、层缩放等。 Add layers:增加层,在左边工具条有快捷按钮。 Remove:删除层。按Compress 可自动识别无用层。 Reorder:重新排列层。可通过鼠标来调整,然后点Renumrer 重新排列层号。 Allign:定位。用于层与层之间的对齐。 Snap pad to drill:将焊盘与焊盘对中。可选择Tolerance 即在坐标相差多少之内的可做对中移动。 Snap pad to drill:将焊盘向钻孔对中。

物联网岗位细分

物联网岗位细分 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

物联网开发工程师职业方向细分 新基建背景下,物联网领域对于人才的需求越发强烈,为此,物联网培训品牌机构-----开物学院综合智联招聘、51job等招聘网站对于相关职位信息进行了汇总。由于物联网技术涉及面太广,我们对于“物联网开发工程师”的岗位技能进行分析,可以看出其方向细分、能力综合的根本特性。无论对于物联网专业的学习者还是跨行从业者,都需要在了解物联网系统架构的基础上,深入培养某个方向的技能,才能在物联网产业发展的过程中找到自己的职业定位。 一、数据架构方向(物联网大数据架构师) 岗位职责: o负责物联网大数据平台系统的设计与实现,包括实时流和离线数据等相关功能的开发与实现。 o根据开发规范与流程独立完成模块的设计、编码、测试以及相关文档。o负责物联网监测行业的算法工程化实现。 任职要求: o有相关的大数据系统架构经验,具有扎实的计算机科学功底,扎实的编程基础和数据结构算法基础,良好的工程素养,极强的问题解决能力 o熟练掌握Hadoop、Kafka、Spark、Storm等分布式框架原理,有相关的调优、运维、开发经验 o具有Postgresql、MySql、MongoDB,ClickHouse等其中一种数据库应用开发经验 o有物联网相关系统、可视化相关系统、微服务相关系统的设计和研发经验。 二、通信方向(物联网通信工程师) 岗位职责: 负责物联网终端、网关及相关通信技术开发。 任职要求:

精通无线通信相关协议及技术,如LoRaWAN、NB-IOT、Wi-Fi、BLE、LTE、Zigbee等 熟悉硬件开发流程,熟悉RF电路,对各种射频技术及参数有较好的理解 熟悉MQTT、CoAP、HTTP REST、WebSocket等相关物联网连接协议 三、软件开发方向(物联网平台软件开发工程师) 岗位职责: 按照软件工程相关工作模式保质保量完成软件产品功能设计和相关文档编写。 独立设计开发物联网应用平台功能模块,完成软件产品集成及测试。 协助支撑完成终端软硬件测试平台搭建和提供终端软件技术咨询服务。 任职要求: 熟悉Java,Python或C/C++等语言,熟悉高并发、高性能的分布式系统的设计优先。 精通物联网技术原理,熟悉物联网相关技术趋势, 熟悉物联网相关协议(MQTT、CoAP、LwIP、LwM2M)及相关开源项目优先。 熟悉Spring MVC、Hibernate、Mybatis开源开发框架。 熟练使用Redis、RabbitMQ、MongoDB等相关或类似技术。 熟练使用Linux(CentOS/Ubuntu)操作和管理。 四、嵌入式开发方向(物联网嵌入式高级开发工程师) 岗位职责: o负责与芯片/模组商/硬件厂商等合作伙伴共同实现IoT产品的开发。 o负责IoT协议制定和各个端包括Linux/Android/各类RTOS等的移植实现。 o负责IoT某些核心模块能力,如网络协议栈等实现。 o负责各类IoT应用场景下终端产品的选型和开发。 任职要求: o精通C/C++语言编程,熟悉嵌入式开发,具有良好的编程风格和文档编制习惯。 o精通嵌入式操作系统,熟练掌握任务调度/内存回收等实现原理,有freertos、UCOS、RT-Thread、linux等系统开发经验者优先。 o熟悉主流ARM处理器体系架构,有STM32、NXP等芯片开发经验优先。 o熟悉各类物联网通讯协议,如:LoRa、NB-IoT、eMTC、WiFi/BLE等,熟悉TCP/IP网络架构,有相关物联网开发经验优先。 o五、移动端开发方向(物联网移动端开发工程师)岗位职责: 负责iOS/Android下AIOT移动端APP SDK开发; 负责对接客户APP开发的接口需求。 任职要求: 熟悉常见数据结构、算法和设计模式,熟悉TCP/IP协议。

CAM350 技巧

CAM350 技巧 时间:2010-10-24 15:01:14 来源:网络 CAM350 技巧 请问在CAM350中,如何学习编写“宏”。 回答:macro--->recode可把你的操作记录下来,通过它,您可慢慢地来学。 请问地CAM350中,如可一次性删除当前D码相同的元素,就好像V2001中的ALT+D 一样。 回答:删除:edit--->delete---->右上角filter--->选Decodes:如D10就填入10--->OK--->选selectAll即可。 在cam350中要怎么样才能把一条完整的线段只删除一小节呢? 回答:方法:File->Add Vertex 然后File->Delete Segment 即可。 请问在CAM350中,如何能快速选择到一个焊盘或一条线段呀,我问的是有快捷键吗? 回答:用filter。 请问Add->Padstack的作用是什么? 回答:当gerber被抽过网络之后,会产生电性连接。padstack是由一个孔及其连接的各层焊盘所组成的一个电性组合。你可以用query | padstack 来查看原有gerber 的padstack,然后再指定位置添加此padstack。 我想问一下呢?在cam350中要怎样才能取消被加亮显示的d-code呢? 回答:按下“H”键即可。 还有就是有没有只显示线或pad的的开关呢?好像v2001中的shift+t跟shift+p 回答:可以按下键盘的“Y”键,出现Layer Table,选择你线路的那一层。如:art01.pho,在Draw 中按一下,会出现Colors for draws lay... 按一下Hide(隐藏),即可隐藏线路,反之按下Flash即隐藏焊盘。 我还想问一下呢?就是在cam350中要怎样改变d-code呢?改变单一的和这一类的

mysql优化笔记

◆Mysql数据库的优化技术<大型网站优化技术> 对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] c: 分表技术(水平分割、垂直分割) d: 读写[写: update/delete/add]分离 e: 存储过程[模块化编程,可以提高速度] 数据库的三层结构: f: 对mysql配置优化[配置最大并发数my.ini, 调整缓存大小] g: mysql服务器硬件升级 h: 定时的去清除不需要的数据,定时进行碎片整理(MyISAM) CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...) ◆什么样的表才是符合3NF (范式) 表的范式,是首先符合1NF, 才能满足2NF , 进一步满足3NF 1NF: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF ?数据库的分类 关系型数据库: mysql/oracle/db2/informix/sysbase/sql server 非关系型数据库: (特点: 面向对象或者集合) NoSql数据库: MongoDB(特点是面向文档) 2NF: 表中的记录是唯一的, 就满足2NF, 通常我们设计一个主键来实现id primary key ; 3NF: 即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足3NF:显示推导处理

linux常用操作命令.doc

1 linux常用操作命令 linux系统中通过命令来提高自己的操作能力,下面由小编为大家整理了linux常用操作命令的相关知识,希望大家喜欢! linux常用操作命令一、常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录 touch 创建空文件 2 echo 创建带有内容的文件。

cat 查看文件内容 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除 find 在文件系统中搜索某文件 wc 统计文本中行数、字数、字符数 grep 在文本文件中查找某个字符串rmdir 删除空目录 3 tree 树形结构显示目录,需要安装tree包

pwd 显示当前目录 ln 创建链接文件 more、less 分页显示文本文件内容head、tail 显示文件头、尾内容 ctrl+alt+F1 命令行全屏模式 linux常用操作命令二、系统管理命令 stat 显示指定文件的详细信息,比ls更详细who 显示在线登陆用户 whoami 显示当前操作用户 hostname 显示主机名 4 uname 显示系统信息

top 动态显示当前耗费资源最多进程信息 ps 显示瞬间进程状态ps -aux du 查看目录大小du -h /home带有单位显示目录信息 df 查看磁盘大小df -h 带有单位显示磁盘信息 ifconfig 查看网络情况 ping 测试网络连通 netstat 显示网络状态信息 man 命令不会用了,找男人如:man ls clear 清屏 alias 对命令重命名如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit 5 kill 杀死进程,可以先用ps 或top命令查看进程的id,然

Windows下安装MongoDB服务器-王昌军

Windows下安装MongoDB服务器 MongoDB的官方下载站是https://www.360docs.net/doc/9f14523415.html,/downloads,可以去上面下载最新的程序下来。在下载页面可以看到,对操作系统支持很全面,OS X、Linux、Windows、Solaris 都支持,而且都有各自的32位和64位版本。目前的稳定版本是2.0.2版本。 1.安装包及安装目录准备 (1). 下载MongoDB url地址: https://www.360docs.net/doc/9f14523415.html,/downloads (2). 设置MongoDB目录:在D盘建立D:\Software\MongoDB-2.0.2\bin目录。解压下载的MongoDB安装包,解压并将解压后的文件中的bin目录下的所有文件拷贝到刚才建立的目录下。 (3). 设置数据文件路径:在D:\Software\MongoDB-2.0.2目录下建立data文件夹,用以存放MongoDB数据文件。 (4). 设置日志文件:在D:\Software\MongoDB-2.0.2目录下建立logs文件夹,并在logs下面建立mongodb.log文件。 2.安装MongoDB服务器 打开cmd窗口(如果是win7的话。那启动cmd要用管理员身份来启动(右键以管理员运行)):输入下面命令: C:\Windows\system32>D: D:\>cd D:\Software\MongoDB-2.0.2\bin D:\Software\MongoDB-2.0.2\bin>mongod --dbpath D:\Software\MongoDB-2.0.2\data --logpath=D:\Software\MongoDB-2.0.2\logs\mongodb.log --install

CAM各种命令操作的详细教程

CAM350 V8.0.5 File 菜单 1. new :新建(快捷键Ctrl+N)。 2. open:打开(快捷键Ctrl+O)。 3. save:保存(快捷键Ctrl+S)。 4. save as:另存为。 5. merge:合并两PCB 文件。可将两层排列方式基本一致的板做拼接,若掌握熟 练可拼接文件用于菲林绘制。 6. Import:导入文件。 Autoimport:自动导入文件。 系统自动为选择的文件做光圈表匹配,若有匹配不正确或无法匹配的则可做 调整,选择其他光圈编译器或重新编辑编译器并做检查。 Gerber data:导入Gerber 文件。 对于RS274-X 文件自带D 码即可将文件调入,而对于RS274-D 文件则通过调整文件格式来调试到显示正确的图形。 Drill data:导入钻孔数据。同样通过格式调整来调试图形正确性。 Mill data:导入铣边资料。 Dxf:一种文件格式,一般有客户提供此类文件作为说明。 Aperture table:光圈表。 当确定光绘文件调入正确,而光圈表不匹配的情况可使用该指令来调整光圈表使 用的编译器。 7. Export:导出文件。- Composites:复合层输出。 Drill data:钻孔数据。 Mill data:铣边数据。8. Print:文件打印。 Setup printer:打印机设置。 Print display:打印预览。 9. Setup:系统设置。 Preferences:参数选择。 可设置优先缓存区,如:undo 恢复键功能;自动备份的功能,但常规下不做自 动备份。 Paths:路径。定义系统显示的输入输出及其它一些环境文件所在的默认路径。 File extensions:设置输入输出文件扩展名的默认值。 Colors:设置显示的颜色。可根据个性进行设置。 Photoplotter:对光绘程序中指令的识别进行设置。 有客户设计软件生成的文件在该选择不同时将会有不同识别程度,不要轻易 更改其间参数。当发现文件中有不明设计的圆弧,可通过选择Ignore arcs with same start/cnd points 调试后与客户确认,或发现文件中焊盘线处于未填实的 情况可通过将Interpolated arc if no G74/G75由Quadran调至360 Degrees, 切记当调试后再做其他板之前请务必调回原默认状态。 Nc-mill machine:为铣边文件设置默认格式。 Nc-drill machine:为钻孔文件设置默认格式。 Save defaults:将当前环境设置为默认环境。在每次使用New 指令即可进入该 默认环境。

mongodb 对内存的严重占用以及解决方法

mongodb 对内存的严重占用以及解决方法 刚开始使用mongodb的时候,不太注意mongodb的内存使用,但通过查资料发现mongodb对内存的占用是巨大的,在本地测试服务器中,8G的内存居然被占用了45%。汗呀。 本文就来剖析一下mongodb对内存的具体使用方法,以及生产环境针对mongodb占大量内存的问题的解决。 先看一个MongoDB服务器的top命令结果 shell> top -p $(pidof mongod) Mem: 32872124k total, 30065320k used, 2806804k free, 245020k buffers Swap: 2097144k total, 100k used, 2097044k free, 26482048k cached VIRT RES SHR %MEM 1892g 21g 21g 69.6 或者先top后,然后shift+m 把当前进场按占用内存的多少排序。看看你的mongodb 能占用多少内存。 先了解一下linux对内存的管理方式: 在Linux里(别的系统也差不多),内存有物理内存和虚拟内存之说,物理内存是什么自然无需解释,虚拟内存实际是物理内存的抽象,多数情况下,出于方便性的考虑,程序访问的都是虚拟内存地址,然后操作系统会把它翻译成物理内存地址。 很多人会把虚拟内存和Swap混为一谈,实际上Swap只是虚拟内存引申出的一种技术而已:操作系统一旦物理内存不足,为了腾出内存空间存放新内容,就会把当前物理内存中的内容放到交换分区里,稍后用到的时候再取回来,需要注意的是,Swap的使用可能会带来性能问题,偶尔为之无需紧张,糟糕的是物理内存和交换分区频繁的发生数据交换,这被称之为Swap颠簸,一旦发生这种情况,先要明确是什么原因造成的,如果是内存不足就好办了,加内存就可以解决,不过有的时候即使内存充足也可能会出现这种问题,比如MySQL 就有可能出现这样的情况,解决方法是限制使用Swap: shell> sysctl -w vm.swappiness=0 查看内存情况最常用的是free命令: shell> free -m total used free shared buffers cached Mem: 32101 29377 2723 0 239 25880 -/+ buffers/cache: 3258 28842 Swap: 2047 0 2047

cad常用基本操作

常用基本操作 1 常用工具栏的打开和关闭:工具栏上方点击右键进行选择 2 动态坐标的打开与关闭:在左下角坐标显示栏进行点击 3 对象捕捉内容的选择:A在对象捕捉按钮上右键点击(对象捕捉开关:F3) B 在极轴选择上可以更改极轴角度和极轴模式(绝对还是相对上一段线) 4 工具栏位置的变化:A锁定:右下角小锁;工具栏右键 B 锁定情况下的移动:Ctrl +鼠标移动 5 清楚屏幕(工具栏消失):Ctrl + 0 6 隐藏命令行:Ctrl + 9 7 模型空间和布局空间的定义:模型空间:无限大三维空间 布局空间:图纸空间,尺寸可定义的二位空间 8 鼠标左键的选择操作:A 从左上向右下:窗围 B 从右下向左上:窗交 9 鼠标中键的使用:A双击,范围缩放,在绘图区域最大化显示图形 B 按住中键不放可以移动图形 10 鼠标右键的使用:A常用命令的调用 B 绘图中Ctrl + 右键调出捕捉快捷菜单和其它快速命令 11 命令的查看:A 常规查看:鼠标移于工具栏相应按钮上查看状态栏显示 B 命令别名(缩写)的查看:工具→自定义→编辑程序参数(acad.pgp) 12 绘图中确定命令的调用:A 鼠标右键 B ESC键(强制退出命令) C Enter键 D 空格键(输入名称时,空格不为确定) 13 重复调用上一个命令: A Enter键 B 空格键 C 方向键选择 14 图形输出命令:A wmfout(矢量图) B jpgout/bmpout(位图)应先选择输出范围 15 夹点的使用:A蓝色:冷夹点 B 绿色:预备编辑夹点 C红色:可编辑夹点 D 可通过右键选择夹点的编辑类型 E 选中一个夹点之后可以通过空格键依次改变夹点编辑的命令如延伸,移动或比例缩放(应注意夹点中的比例缩放是多重缩放,同一图形可在选中夹点连续进行多次不同比例缩放)

CAM350主要功能和快捷键

【主要功能】 支持多种输入/输出格式(CAD数据, ODB++, Gerber, IPC-356,Excellon, DXF, Sieb 以及Myers等) 提供了双向的AutoCAD 和DXF数据支持 设计规则检查,检查包括各类间距,环状线,铜箔面积计算,网表对比等 优化设计文件,添加泪滴,网表提取,丝印检查等 Basic NC Editor通孔编辑功能,钻孔工具定义,铣边路径,改变提刀点 快速拼板功能,制作PCB的阵列,适应生产要求 【CAM350 快捷键大全】 打开菜单后可以看见菜单英文下面的某一个字母下有一个横线,ALT+横线对应的字母就是这个命令的快捷键 Fine文件菜单 1、ALT+F-->N 打开新软件 2、ALT+F-->O 打开文件(PCB) 3、ALT+F-->S 保存 4、ALT+F-->A 另存为 5、ALT+F-->M 两个文件合并,用作对比用 6、ALT+F-->I+U 输入GERBER文件 7、ALT+F-->I+G 分层输入GERBER文件 8、ALT+F-->E+G 与输入文件相反,即输出相应的文件 9、ALT+F-->I+R 输入钻带 10、ALT+F-->E+R 输出钻带 11、ALT+F-->I+M 输入锣带 12、ALT+F-->E+M 输出锣带 13、ALT+F-->P+P 打印 Edit编辑菜单 14、ALT+E-->L+S 加大字体 15、ALT+E-->M 移动 16、ALT+E-->D 删除 17、ALT+E-->I 作镜HORIZONTAL 18、ALT+E-->L+A 增加层,打开另外一层 19、ALT+E-->A 增加顶点 20、ALT+E-->C 拷贝 21、ALT+E-->R 旋转 22、ALT+E-->E 删除顶点 23、ALT+E-->G 删除某一段,某一节 24、ALT+E-->L+L 相对点对位 25、ALT+E-->L+R 删除层,移开层 26、ALT+E-->L+O 重新排序 27、ALT+E-->H+D 改变线粗(改变D码的大小) 28、ALT+E-->H+T+T 改变字体 29、ALT+E-->H+I 合并钻孔 30、ALT+E-->H+E+L/+W 打散/恢复 31、ALT+E-->H+E+P 打散输入的钻孔,锣带资料

168 道2019年最新的Python面试题,让你最短时间内掌握核心点

1.列出5 个常用Python 标准库? 2.Python 内建数据类型有哪些? 3.简述with 方法打开处理文件帮我我们做了什么? 4.列出Python 中可变数据类型和不可变数据类型,为什么? 5.Python 获取当前日期? 6.统计字符串每个单词出现的次数 7.用python 删除文件和用linux 命令删除文件方法 8.写一段自定义异常代码 9.举例说明异常模块中try except else finally 的相关意义 10.遇到bug 如何处理 语言特性 1.谈谈对Python 和其他语言的区别 2.简述解释型和编译型编程语言 3.Python 的解释器种类以及相关特点? 4.说说你知道的Python3 和Python2 之间的区别? 5.Python3 和Python2 中int 和long 区别? 6.xrange 和range 的区别? 编码规范 7.什么是PEP8? 8.了解Python 之禅么?

9.了解docstring 么? 10.了解类型注解么? 11.例举你知道Python 对象的命名规范,例如方法或者类等 12.Python 中的注释有几种? 13.如何优雅的给一个函数加注释? 14.如何给变量加注释? 15.Python 代码缩进中是否支持Tab 键和空格混用。 16.是否可以在一句import 中导入多个库? 17.在给Py 文件命名的时候需要注意什么? 18.例举几个规范Python 代码风格的工具 数据类型 字符串 19.列举Python 中的基本数据类型? 20.如何区别可变数据类型和不可变数据类型 21.将"hello world"转换为首字母大写"Hello World" 22.如何检测字符串中只含有数字? 23.将字符串"ilovechina"进行反转 24.Python 中的字符串格式化方式你知道哪些? 25.有一个字符串开头和末尾都有空格,比如“adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。

常用网络命令操作

实验一常用网络命令操作 (一)实验目的: 掌握PING/NET/NETSH路由跟踪命令等常用命令的使用方法, 从这些命令的响应来确定网络的状态和路径情况 (二)实验环境 PC机及互联网 (三)实验内容 1.ping命令的使用 ping命令的具体语法格式:ping目的地址[参数1][参数2] 主要参数有: a:解析主机地址 n:数据:发出数据包的个数,缺省为4 l:数值:所发出缓冲区大小 t:继续执行ping命令,直到用户按下CTRL+C键终止 https://www.360docs.net/doc/9f14523415.html,stat命令的使用 Netstat[-参数1][参数2] a:显示所有与该主机建立连接的端口信息 b:显示以太网的统计住处参数一般与S参数共同使用 n:以数字的格式显示地址和端口信息 s:显示每个协议的统计情况。 3.用VisualRouter跟踪路由信息,显示从源地址到目的地址 所经过的路由。

(四)实验结果分析: Ping命令: 我们使用ping命令ping百度的IP 202.108.22.5 使用-a参数来解析计算机NetBios名 使用-n 命令改变测试包的数量 使用-t 命令来一直执行ping命令直到键入CTRL+C

Netstat命令: 我们使用-a 命令来查看与我们主机机那里连接的端口信息 我们使用-e 命令显示以太网的统计住处该参数一般与S参数共同使用 我们使用-n 以数字的格式显示端口的地址信息:

我们使用-s显示每个协议的统计情况:

接下来我们使用VisualRouter来跟踪路由信息: 我们尝试着与193.168.110.52通信,并查看路由等信息 我们可以看见地区为:Luxumbourg 该IP属于德国卢森堡 网络为:Fondation RESTERA 防火墙信息:对ping命令不回应,对80端口的空请求不回应 还有一些数据包分析的信息。 从这张图中我还看到了路由的路径: 从 192.168.110.205->192.168.110.1->?->192.168.99.38->192.168.9 9.30->10.0.1.4->218.2.129.161->?->202.97.50.238->202.97.33.1 54->?->4.71.114.101->?->4.69.148.225->212.73.249.26->158.64. 16.189->193.168.110.52

cam350快捷键

CAM350 V8.0.5快捷键 A 打开光圈表 C 以光标为中心放大临近围 D 设置当前激活的D码 F 切换显示线的填充模式(实填充/外形线/中心线) G 图形开关 H 所以同类型D码的元素高亮显示 K 关闭层(当前层除外) L 指定当前层 M 切换命令行显示方式(记忆模式/命令提示/宏命令提示)N 切换当前层的正片/负片显示 O 改变走线模式(0/45/90度) P 显示上一次缩放大小 Q 查看属性 R 刷新 S 随删格移动开关 T 透视显示开关 U 撤消 V 删格显示开关 W 窗口式放大 X 光标模式切换(短“十”字形、长“十”字形、X形)Y 打开层设置对话框 Z 目标选取开关(以光标为中心) Ctrl U 恢复 + 放大 - 缩小 Home 全局显示 ,执行上一命令 Esc 结束当前命令(等于鼠标右键) 空格键等于鼠标左键

Ins 按光标在面版中的位置显示图形 Page Up 放大目标选取框(以光标为中心) Page Down 缩小目标选取框(以光标为中心) Ctrl N 新建 Ctrl O 打开 Ctrl S 保存 -------------------------------------------------------------------- 编辑命令下的功能热键 A 全选 C 框选模式(交叉/不交叉) I 窗口选择模式(窗被选/窗外被选) W 进入组窗口选择模式 CAM350 V8.0.5 File菜单 1. new :新建(快捷键Ctrl+N)。 2. open:打开(快捷键Ctrl+O)。 3. save:保存(快捷键Ctrl+S)。 4. save as:另存为。 5. merge:合并两PCB文件。可将两层排列方式基本一致的板做拼接,若掌握熟练可拼接文件用于菲林绘制。 6. Import:导入文件。 Autoimport:自动导入文件。 系统自动为选择的文件做光圈表匹配,若有匹配不正确或无法匹配的则可做调整,选择其他光圈编译器或重新编辑编译器并做检查。 Gerber data:导入Gerber文件。 对于RS274-X文件自带D码即可将文件调入,而对于RS274-D文件则通过调整文件格式 来调试到显示正确的图形。

MongoVUE简单操作手册

MongoVUE 是个比较好用的MongoDB客户端,需要注册,但是可以变成永久使用,一、基础操作 新增一个连接 进入的界面形如

二、进阶操作 1、查看所有数据,会有三种格式的观看方式,分别为树形,表格,bjosn,详情见1.1 2、查看特定的数据,使用的时候shell命令,需要一些基础的语法知识,详情见2.1 3、更新数据,详情见3.1 4、删除数据,慎用,如果没有备份,删除之后无法恢复

5、插入数据,详情见5.1 6、复制文档到统一集合,详情见6.1 7、复制集合到不同的数据库,详情见7.1 8、删除文档内所有数据、慎用,如果没有备份,删除之后无法恢复 9、删除数据库慎用,如果没有备份,删除之后无法恢复 1.1 查看所有数据 点击”view之后”,会出现文档内的数据 树形: 表格: 需要修改什么值的时候,可以直接点击要修改的字段进行修改,修改完成之后按回车

Txt形,Bjson格式的 2.1查看特定的数据 1.点击”find”,输入条件之后点击find便可以进行查询,这里简单的讲一下基本的 查询语句 有点模糊,可以放大点 1、区域为基本查询 一组键值,key为要查询的字段,value为要查询字段的值,如有多个用逗号隔 开 语法{“要查询的字段”:“要查询字段的值”,“第二个”…..} 比如,我们想查一个名为huihh的人信息,并且年龄为30,那么写成

{“name”:”huihh”,”age”:30} 2、字段查询 和1有点不同,这么如果写查询语句 {"name":"huihh"}那么查询出来的数据,出了id,是一整列的name,并不会进行 筛选,所以,这里我们可以写成{“name”,“”},查询之后只显示name这一列, 如果需要其他的特别查询条件,与1合用 3、排序 方法使用一组键值对做参数,key是document里的key的名字,value是1升序或者-1降序。 比如,查询huihh会有3个人呢,那么就使用age进行排序, {“age”:-1} 4、结果集的筛选

爱立信常用指令操作汇总

常用指令操作汇总 1.常用指令 ?RLSBP/C (cro、pt、TO、T3212、ATT、TX、MAXRET、ACC、cb、cbq) / \ |cell...| RLSBP:CELL=+ +; |ALL | \ / / / \ | / / \\ |cell| | | |acc...|| RLSBC:CELL=+ + +[,CB=cb]|,ACC=+ +| |ALL | | | |CLEAR || \ / | \ \ // \ [,MAXRET=maxret][,TX=tx] [,ATT=att][,T3212=t3212] [,CBQ=cbq][,CRO=cro] [,TO=to][,PT=pt] \ | | [,ECSC=ecsc]+[,SLOW]; | | / ?RLSSP/C (nccperm、CHR、accmin、CCHPWR、rlinkt、DTXU、RLINKT、NECI、MBCR) / \ |cell...| RLSSP:CELL=+ +; |ALL | \ / / RLSSC:CELL=cell+[,ACCMIN=accmin][,CCHPWR=cchpwr][,CRH=crh] \ [,DTXU=dtxu][,NCCPERM=nccperm...] \ [,RLINKT=rlinkt][,NECI=neci][,MBCR=mbcr]+; / ?RLNRP/C (khyst、koffsetp/n、awoffset、bqoffset、CS、CAND) / \ | / \| | |cellr...|| |CELL=cell,CELLR=+ +| RLNRP:+ |ALL |+[,NODATA]; |CELL=ALL \ /| | | \ / / | RLNRC:CELL=cell,CELLR=cellr +[,CS=cs][,CAND=cand] | \ / / \\ | |KOFFSETP=koffsetp|| [,KHYST=khyst]|,+ +| | |KOFFSETN=koffsetn|| \ \ // / / \\ | |LOFFSETP=loffsetp|| [,LHYST=lhyst]|,+ +| | |LOFFSETN=loffsetn|| \ \ //

红帽linux常用操作命令

红帽linux常用操作命令 1.查看硬件信息 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 # free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况 # du -sh # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载# cat /proc/loadavg # 查看系统负载磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况网络# ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息进程

CAM350 NC 编辑器编辑菜单

CAM350 NC 编辑器编辑菜单(Edit) 1. Mill Path 铣路径 下面几项功能只对NC 层的NC 数据才有效,对graphic(gerber 层)数据无效,要对gerber 数据进行编辑是要退到CAM Editor 界面下。 Chamfer 倒斜角(只对NC 数据有效) Fillet 倒圆角(只对NC 数据有效) Plunge/Extract 更改下刀点(提刀点) 更改下刀点在做锣带时经常用到的,需要注意的是在更改下刀点后,由于cam350 的捕捉功能的原因,要对下刀点处进行再处理,用Edit 菜单下Move Vtx(移动顶点)命令更改后的下刀点进行操作时会发现该处多出一个小段出来,用Delete Set(删除段)命令将其删掉。否则,在实际生产过程中会在下刀处出现一个缺口。 Add Atx at Intersection 在交叉处添加一格顶点这是一项比较实用的功能,使用它在处理锣带制作过程中,无法连续走刀,而需要提刀的时候快速有效的找到两次走刀的共同点。 在生产(gerber to mill)锣带过程中经常会碰刀这种情况:当弧度适当时是可以连续走刀。当出现圆弧变形就需要按下面的操作步骤来对它进行处理了。 先选Utility 里的Offset Mill Path(路径偏移)命令,将已经打好补偿的路径定义为g40 属性。接着用Add Atx at Intersection 命令鼠标左击两条圆弧的交叉处(是NC 层上)会发现在交叉处多出一个顶点,再用Delete Seg(删除段)命令将不需要的段咔嚓掉。准确、快捷,接刀处天衣无缝,这一招很有用。 Segments To Arc 折线转圆弧(只对NC 数据有效) 2. Path Properties 路径属性(补偿方向) 3. Path Direction 路径方向(走刀方向) 4. Drill Hit 更改钻数据的孔径

mongodb安装及简单操作附截图

MongoDB安装及简单操作 1.下载mongodb 链接:https://www.360docs.net/doc/9f14523415.html,/s/1gdKtrUz 密码:9af8这是我网盘的链接,下载解压到D 盘 2.配置文件 第一步,解压之后将文件夹放在D盘; 第二步,将mongodb-win32-x86_64-2.0.6文件夹重命名为mongodb; 第三步,在D:\mongodb\下创建data文件夹,路径D:\mongodb\下包含下面文件; 第四步,在data文件夹下创建db文件夹和log文件夹如下图; 第五步,在log文件夹下创建日志文件MongoDB.log如下图

3.连接数据库 打开命令提示符(管理员权限) D: cd d:\mongodb\bin mongod -dbpath "d:\mongodb\data\db" 正常情况下会看到下面的界面 这时候,已经成功打开mongodb的服务了,27017是默认端口。在浏览器中检验一下是否真的成功的启动了mongodb的服务,在浏览器输入http://localhost:27017/

只要看到上面的界面就证明连接成功了。 这时候,再打开一个命令提示符窗口,可以不是管理员权限,去进行数据库的操作。 输入mongo 输入show dbs 插入一条数据https://www.360docs.net/doc/9f14523415.html,er.insert({name:”laowang”}) 也可以是https://www.360docs.net/doc/9f14523415.html,er.save({name:”laowang”}) 或者,一次添加姓名和年龄数据,二维数据https://www.360docs.net/doc/9f14523415.html,er.save({name:”laowang”,age:”25”}) 查看数据 https://www.360docs.net/doc/9f14523415.html,er.find() 相当于sql的select * from user 其他的mongodb常用操作命令,我在网上找了一些,直接给你粘贴上来。 1、Help查看命令提示 help db.help(); db.yourColl.help();

相关文档
最新文档