A. mongo数据库是怎么创建索引
2种方式:
(1)mongo shell
db.yourCollectionName.createIndex({fieldName: 1})
举例:
db.gameShortLink.createIndex({shortLink: 1})
(2)pymongo代码
indexKeyList = [
("fieldName", pymongo.ASCENDING),
]
mongoCollection.create_index(indexKeyList)
注:
一次性创建多个索引,举例:
import pymongo
from pymongo import IndexModel
# from pymongo import ASCENDING, DESCENDING
indexShortLink = IndexModel([("shortLink", pymongo.ASCENDING)], name="shortLink")
indexIsParseOk = IndexModel([("parsedLink.isParseOk", pymongo.ASCENDING)], name="parsedLink_isParseOk")
indexErrType = IndexModel([("parsedLink.errType", pymongo.ASCENDING)], name="parsedLink_errType")
indexRealGameName = IndexModel([("parsedGame.realGameName", pymongo.ASCENDING)], name="parsedGame_realGameName")
indexGameTheme = IndexModel([("parsedGame.gameTheme", pymongo.ASCENDING)], name="parsedGame_gameTheme")
indexModelList = [
indexShortLink,
indexIsParseOk,
indexErrType,
indexRealGameName,
indexGameTheme,
]
mongoCollectionShortlink.create_indexes(indexModelList)
详见:(网络搜)
【已解决】用mongo的shell给MongoDB创建索引以提高查询速度
【已解决】PyMongo中如何一次性创建多个index索引
B. 如何建立一个含有用户名和密码的mongodb的数据库
方法如下:
创建数据库
use tt
这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
db.usr.insert({'name':'tompig'});
db.usr.insert({'name':'tompig1','id':1});
随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.
然后使用命令查看是否有保存tt这个数据库:
show dbs
3.配置用户
use tt
db.addUser('mongodb','123456');
mongodb是用户名,123456是密码.
好了,这样一个数据库和对这个数据库配置用户就完成了.
mongodb常用命令:
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.Database("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});
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、查询之前的错误信息
db.getPrevError();
2、清除错误记录
db.resetError();
C. 如何在MongoDB中建立新数据库和集合
概念
一定范围的集合,确定的,可分辨的东西,作为一个整体来看,被称为集,称为集,其中,每个组元素或一种叫做短元件。不同的人物,如阿Q(1)真实的故事出现在(2)全部为大写字母。任何集合是它自己的子集的关系
收集要素:
集“归属感”和元素之间的关系“不属于”两种。分类
集合:
工会:属于A或B的元素是属于集合的元素被称为A和B(套),表示A∪B(或B∪A),读作“A和B”(或“B和A”),即A∪B= {X |x∈A,或x∈B}
路口:属于A和B是属于元素集合的元素称为A和B的薪酬(套),表示A∩B(或B∩A),读作“A交B”(或“B交A”),即A∩B= {X |x∈A,和x∈ B}
的区别:不属于A和B的一部分元素的元素集合称为差(套)
说明A和B:空集包含于任何集合,但不能说“空集属于任何集合“。
某些特定的对象集合在一起,就成为一个集合包含的元素叫做有限集包含的元素称为无限集合无限数量有限数,空集是不含任何元素的集合,记Φ。空集是任何集合的一个子集是真正的任何非空集的子集,没有集合是本身所有真正传递的一个子集的一个子集的一个子集。
“解释:如果所有的元素都同时设置B元素的集合,则A被称为B的一个子集,编写的B.如果A是B的一个子集,而A不等于B,?则A被称为B的真子集,编写的B.
集所有男人都是集自然“
集合中的所有真子集:?
确定性:可确定每个对象是不元素的集合,没有肯定它不能被设置,如“高同学”,“小的数字”不能构成的集合。
变化:任何两个元素的集合是不同的对象。不能被写为{1,1,2},{1,2}应写入。
障碍:{A,B,C} {C,B,A}是同一个集合。
设置具有以下性质:如果A是包含在B,那么A∩B= A,A∪B=表示B
集合:枚举法常用和描述方法。
1.枚举法:用于每个有限集,该集列表出来的所有元素,写在括号内,这种表示被称为组枚举法。 {1,2,3,...}
2.描述法:常用的集合用来表达无限的,对文字,符号或公式,等集合中的共同财产元素描述,写在括号,其中的方法代表了一个名为描述方法的集合。 {X | P}(X为P为这个集合的共同财产元素的一般形式的集合中的元素),如:正实数少于π的集合,表示为:{X | 0 < X <π}
3的图式法:为了表达集合的形象,我们常常画一条封闭的曲线(或圆),用收集其内部表示。使用的符号
号码设定:
(1)中的所有非负整数的集合通常被称为一个非负整数(或一组自然数),表示为N
( 2)内的一组非负整数排除设置为0,也称为正整数,以N +表示的(或N *)
(3)组所有整数,通常称为整数集,表示由Z
(4)收集所有有理数通常称为集有理数,由Q
表示为(5)设定的所有实数的,通常被称为实数集,表示通过计算点击看详细收集:1。
交换
A∩B=B∩A
A∪B=B∪A
2.关联
(A∩B)∩C=A∩(B∩C)
(A∪B)∪C=A∪(B∪C)
3.分配
A∩(B∪C) =(A∩B)∪(A∩C)
A∪(B∩C)=(A∪B)∩(A∪C)的
2日摩根法律
铯(A ∩B)=CsA∪CsB
铯(A∪B)=CsA∩CsB
3“容斥原理”
在收集的学习,遇到涉及人数问题集合中的元素,我们限制在集合A的元素数,记为卡(A)中。例如,A = {A,B,C},卡(A)= 3
卡(A∪B)=卡(A)+卡(B)-card(A∩B) BR>卡(A∪B∪C)=卡(A)+卡(B)+卡(C)-card(A∩B)-card(B∩C)-card(C∩A)+卡(A ∩B∩C)
1985年德国数学家,集合论,领唱者的创始人所讲的道集合,援引的法律,法律是描述收集的常用方法。点击看详细吸收法
A∪(A∩B)= A
A∩(A∪B)= A
补充法律
A∪CsA= S
A∩CsA=Φ点击看详细【聚焦】
理解藏品,藏品的性质,元素的集合,它们之间的关系代表的概念。子
收集,运送,以及相配套的意义和用法。掌握术语和符号,用准确的表示语言,研究收集,处理有关数学问题。
[难度]
的集合的概念的含义以及这些概念和它们之间的链路之间的差别。
准确的了解使用更多的新概念,新符号的处理数学问题。
D. windows下安装好mongodb后怎么创建数据库
一、安装mongoDB
1、解压mongodb-win32-i386-1.8.2至E:\MyProgram\mongodb-win32-i386-1.8.2(你可以按照自己的路径来,路径中最好不要有空格,要不然麻烦)
2、新建文件夹C:\DATA\DB,这是mongoDB的默认数据文件夹,你也可以在文件夹E:\MyProgram\mongodb-win32-i386-1.8.2新建一个文件夹data作为mongoDB的数据库文件存储目录
3、进入CMD,运行命令E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod.exe -dbpath E:\MyProgram\mongodb-win32-i386-1.8.2\data,OK,mongoDB已经安装成功并已经在运行中了,你将会看到如下:
此时是mongoDB的运行状态,你可以按Ctrl+C结束运行状态或者直接关掉CMD结束运行。
二、运行mongoDB时的错误与处理
完成安装后,结束掉所有CMD窗口,然后进行如下操作:
1、运行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,可能会报错误:couldn't connect to server 127.0.0.1 shell/mongo.js,原因是mongod.exe没有启动,
2、既然没启动,那咱就启动呗,运行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod,可能会报错误:dbpath (/data/db/) does not exist, terminating,看这样子,本人觉得还得在data文件夹下再建一个db文件夹啊,如此即新建一db文件夹,再运行mongod命令,结果提示一样,不知道怎么搞啦,咱google吧
找到文章http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo
说“To start Mongo in default mode, where data will be stored in the /data/db directory (or c:\data\db on Windows), and listening on port 27017”,哦,原来默认的文档路径在c:\data\db,啥也不说,直接按这个建文件夹,再次运行命令mongod,OK了,启动成功,这个命令窗口不能关闭,否则mongoDB就退出了
三,使用mongo命令
保持mongod命令窗口的运行状态,再新开一命令窗口
输入E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,出现
MongoDB shell version:1.8.2
connecting to:test
>
OK,连接成功。
1,show dbs 显示数据库列表
2,use Northwind 进入Northwind数据库,大小写敏感
3,show collections 显示数据库中的集合
4,db 用于查看当前所在的数据库
5,db.Customer.count() 查看集合Customer的记录总数
6,db.Customer.findOne({"_id":"1"}) 查看CustomerId=1的记录
新增数据
1,use MyTest,这个数据库不存在,无所谓,mongo会创建,
MongoDB在使用前,并不要求您事先创建好相应的数据库,设计数据表结构!
在MongoDB中,没有【表】的概念,取而代之的是【集合】,也没有【数据记录】的概念,取而代之的是【文档】,我们可以把【文档】理解成一个【对象】,任意的对象,甚至可以有复杂的嵌套层次。
因此,我们不用再写代码从【数据表字段】到C#类的【属性,字段】的转换了,现在直接就可以读写整个对象了。
而且MongoDB不支持Join操作,所以,如果有【关联】操作,就需要你自己来处理
2,item={"Key":"1","text":"wokao","number":3}
3,db.table1.insert(item),mongo将建立集合table1,并将item插入,完成了新增加数据库的工作
4,db.table1.find()显示table1中的数据,MongoDB的文档使用的是一种称为BSON格式的对象,与Javascript中的JSON类似
5,额外的,输入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到结构和item不一样!但不建议这样做。
注意到:【每个文档有一个名为 "_id" 的成员】,我可没有定义啊。
其实,MongoDB会为每个文档都创建这样一个文档成员,我们指定的 "key", "id" 对于MongoDB来说:它们并不是【文档的主键】,MongoDB只认 "_id",你可以指定,但如果不指定,MongoDB就自动添加。
修改数据
1,var t=db.table1.findOne({"Id":5}),获取一条记录
2,t.str="wokao"
3,db.table1.update({"Id":5},t)
删除数据
db.table1.remove({"Id":5})
查找数据
上面已经有find和findOne命令,即用于查询
db.table1.find()
MongoDB的查询条件中,并没有 >, <, >= , <= 这些运算符,而是使用 "$lt", "$lte", "$gt", "$gte"
新建表
db.MyTest.table2.save({})
删除表
db.table1.drop()或db.runCommand({"drop","table1"})
删除数据库
db.runCommand({"dropDatabase": 1}),此命令只能删除当前数据库
获取服务端状态信息
db.runCommand({"serverStatus" : 1})
E. 怎么连接mongodb的数据库
MongoDB是由10gen团队开发的基于分布式存储的开源数据库系统,使用C++编写。MongoDB作为一个文档型数据库,其中数据以键值对的方式来存储。
下面我们来看下MogoDB的基本使用方法。
1、连接MongoDB数据库
使用如下命令来连接MongoDB数据库
mongo
删除数据库
F. 怎么用mongodb创建数据库
use 命令
MongoDB use DATABASE_NAME 用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
语法:
use DATABASE 语句的基本语法如下:
use DATABASE_NAME
示例:
如果想创建一个数据库名称 <mydb>, 那么 use DATABASE 语句如下:
>use mydb
switched to db mydb
要检查当前选择的数据库使用命令 db
>db
mydb
如果想检查数据库列表,使用命令show dbs.
>show dbs
local 0.78125GB
test 0.23012GB
创建的数据库mydb 列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。
>db.movie.insert({"name":"tutorials yii"})
>show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
在 MongoDB 默认数据库测试。如果没有创建任何数据库,然后集合将被存储在测试数据库。
G. mongodb创建数据库是不是在cmd中写代码
use
命令
MongoDB
use
DATABASE_NAME
用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
语法:
use
DATABASE
语句的基本语法如下:
use
DATABASE_NAME
示例:
如果想创建一个数据库名称
<mydb>,
那么
use
DATABASE
语句如下:
>use
mydb
switched
to
db
mydb
要检查当前选择的数据库使用命令
db
>db
mydb
如果想检查数据库列表,使用命令show
dbs.
>show
dbs
local
0.78125GB
test
0.23012GB
创建的数据库mydb
列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。
>db.movie.insert({"name":"tutorials
yii"})
>show
dbs
local
0.78125GB
mydb
0.23012GB
test
0.23012GB
在
MongoDB
默认
数据库测试
。如果没有创建任何数据库,然后集合将被存储在测试数据库。
H. 如何用robomongo创建数据库
打开网络首页,搜索“Robomongo-0.8.4-i386.exe”图形化工具,下载安装软件,双击运行 Robomongo-0.8.4-i386.exe,点击“下一步”,如下图所示:
点击“我接受(I)”,如下图所示:
选择安装位置,然后点击“下一步(N)”,如下图所示:
点击"安装(I)",如下图所示:
直至安装完成,如下图所示:
运行 robomongo,可以在开始菜单找到启动程序 ,点击Create,如下图所示:
如果只连接本地的mongodb,那么什么都不用选择 ,直接“save”即可,如下图所示:
选中“本地",并点击connect,如下图所示:
现在可以通过robomongo来管理mongodb数据库了,如下图所示: