很全的 Mongodb数据库学习文档 与 php操作mongodbWord文档格式.docx
- 文档编号:17201096
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:23
- 大小:24.40KB
很全的 Mongodb数据库学习文档 与 php操作mongodbWord文档格式.docx
《很全的 Mongodb数据库学习文档 与 php操作mongodbWord文档格式.docx》由会员分享,可在线阅读,更多相关《很全的 Mongodb数据库学习文档 与 php操作mongodbWord文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
**seehttp:
//blog.mongodb.org/post/137788967/32-bit-limitations
16dbversionv1.6.5,pdfileversion4.5
16gitversion:
0eb017e9b2828155a67c5612183337b89e12e291
16sysinfo:
windows(5,1,2600,2,'
ServicePack3'
)BOOST_LI
B_VERSION=1_35
16[initandlisten]waitingforconnectionsonport27017
16[websvr]webadmininterfacelisteningonport28017
39:
45[initandlisten]connectionacceptedfrom127.0.0.1:
6819#1
至此Mongodb服务器启动成功。
(注:
启动mongodb服务器以后,切不可关闭dos窗口,否则服务器会自动关闭)
第四步.启动shell。
重新打开一个dos窗口,输入
C:
cdmongodb
cdbin
mongo
另一种方法是,在Windows资源管理器中导航至C:
\mongo\bin并双击mongo.exe。
无论选择哪种方法来启动shell都会出现
MongoDBshellversion:
1.6.5
connectingto:
test
>
现在已经连接到测试服务器。
2.MongoDB在Linux下的安装配置
1.对于32位的linux
$curlhttp:
//downloads.mongodb.org/linux/mongodb-linux-i686-1.4.4.tgz>
mongo.tgz
$tarxzfmongo.tgz
对于64位的linux
//downloads.mongodb.org/linux/mongodb-linux-x86_64-1.4.4.tgz>
$tarxzfmongo.tgz如果没有安装curl先安装apt-getinstallcurl
2.创建数据文件夹默认情况下,MongoDB会在/data/db/这个文件夹存放数据,这个文件夹需要自己手动创建。
通过如下方式创建:
$addusermongodb$passwdmongodb$sudomkdir-p/data/db/$sudochown`id-u`/data/db$chown-Rmongodb:
mongodb/data当然可以通过--dbpath命令指定MongoDB将数据存储到另外的目录中去。
3.让数据库运行起来在控制台中:
$nohup./mongodb-xxxxxxx/bin/mongod&
$./mongodb-xxxxxxx/bin/mongo>
db.foo.save({a:
1})>
db.foo.find()结果是:
{"
_id"
:
ObjectId("
4cd181a31415ffb41a094f43"
),"
a"
1}OK!
!
二.Mongodb指令及相关操作
a)show命令
ii.在dos中输入showdb查看当前所有的数据库
showdbs
admin
alphabet
color
colors
local
mymongo
test
iii.showcollections查看当前数据库下所有的表
usemymongo
switchedtodbmymongo
showcollections
shell.colors
system.indexes
b)use命令
i.指定当前所需要使用的数据库,如果没有,新建一个库。
如果这个库没有数据,则系统在一段时间后将销毁
ii.use[databaseName]
c)insert指令
i.添加数据,数据形式为json格式
ii.如果insert添加的数据中没有表,则会新建一张表并且在将数据添加入表中
iii.db.[表名].insert()
db.dingdan.insert(
...{
...order_id:
109384,
...order_date:
newDate("
12/04/2010"
),
...customer:
{
...name:
"
JoeBloggs"
...company:
XYZInc."
...phone:
(555)123-4567"
...},
...payment:
...type:
Cash"
...amount:
4075.99,
...paid_in_full:
true
...items:
[
...sku:
ABC1200"
...description:
Asampleproduct"
...quantity:
1,
...price_per_unit:
75.99,
...},{
XYZ3400"
Anexpensiveproduct"
2,
2000
...}
...],
...cashier_id:
340582242
...)
d)save指令
i.保存数据
ii.如果表中无此数据则将数据添加入表中
iii.如果表中存在此数据,则将新的数据修改
iv.db.[表名].save()
db.collection.save(x)
x就是要更新的对象,只能是单条记录。
如果在collection内已经存在一个和x对象相同的"
的记录。
mongodb就会把x对象替换collection内已经存在的记录,否则将会插入x对象,如果x内没有_id,系统会自动生成一个再插入。
相当于上面update语句的upsert=true,multi=false的情况。
db.test0.save({count:
40,test1:
"
OK"
});
_id系统会生成
db.test0.save({_id:
40,count:
如果test0内有_id等于40的,会替换,否则插入。
e)remove指令
i.删除表中所指定的一条数据
ii.db.[表名].remove()
在colors表中添加一条记录
db.colors.save({"
color"
:
112233"
})
db.colors.find()
{"
4e9bc2024fadb58af17b2f01"
ff0000"
}
4e9bc2374fadb58af17b2f02"
4e9bc2384fadb58af17b2f03"
4e9bc2394fadb58af17b2f04"
4e9bc2394fadb58af17b2f05"
4e9bc23a4fadb58af17b2f06"
4e9bc23a4fadb58af17b2f07"
4e9bc23b4fadb58af17b2f08"
4e9bc23b4fadb58af17b2f09"
4e9bc23c4fadb58af17b2f0a"
4e9bc23c4fadb58af17b2f0b"
4e9bc23d4fadb58af17b2f0c"
4e9e3f435240000000005a2d"
删除添加的那条记录
db.colors.remove({"
f)update指令
i.修改数据
ii.db.[表名].update()
db.collection.update(criteria,objNew,upsert,multi)
criteria:
update的查询条件,类似sqlupdate查询内where后面的
objNew:
update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sqlupdate查询内set后面的
upsert:
这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi:
mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
例:
db.test0.update({"
count"
{$gt:
1}},{$set:
test2"
}});
只更新了第一条记录
3}},{$set:
}},false,true);
全更新了
4}},{$set:
test5"
}},true,false);
只加进去了第一条
5}},{$set:
}},true,true);
全加进去了
15}},{$inc:
1}},false,true);
全更新了
10}},{$inc:
1}},false,false);
只更新了第一条
g)find指令
i.查询数据,可配合skip与limit方法使用达到分页效果。
ii.db.[表名].find({}).skip([num1]).limit([num2]),num1从第几条数据开始,num2为所查询的数据条数,如果数据不足,则以所剩数据为准
iii.db.[表名].find({[_id:
{&
lt:
num}]})中括号中为查询条件示例,大于小于等关系运算符则使用转译字符代替。
usezm
switchedtodbzm
db.zm.find().skip(10).limit(5);
4e9e3d6b5240000000005a1c"
char"
k"
"
code"
107}
4e9e3d6b5240000000005a1d"
l"
108}
4e9e3d6b5240000000005a1e"
m"
109}
4e9e3d6b5240000000005a1f"
n"
110}
4e9e3d6b5240000000005a20"
o"
111}
h)findOne指令
i.查询指定查询中的第一条指令
ii.db.[表名].findOne()
db.zm.findOne()
4e9e3d6b5240000000005a12"
97}
注:
findOne中的O必须大写。
i)function
i.自定义函数,定义完后可直接调用
ii.functiontestFunction(op1,op2,op3……){}
iii.“testFunction”:
function(op1,op2,op3……){}
iv.定义好的函数可以直接调用,可以使用return返回数据
functiontestFunction(){
...db.zm.remove({"
{$in:
[100,101,102,103]}})
...returndb.zm.find({})
testFunction()
4e9e3d6b5240000000005a13"
b"
98}
4e9e3d6b5240000000005a14"
c"
99}
4e9e3d6b5240000000005a19"
h"
104}
4e9e3d6b5240000000005a1a"
i"
105}
4e9e3d6b5240000000005a1b"
j"
106}
4e9e3d6b5240000000005a21"
p"
112}
4e9e3d6b5240000000005a22"
q"
113}
4e9e3d6b5240000000005a23"
r"
114}
4e9e3d6b5240000000005a24"
s"
115}
4e9e3d6b5240000000005a25"
t"
116}
4e9e3d6b5240000000005a26"
u"
117}
4e9e3d6b5240000000005a27"
v"
118}
4e9e3d6b5240000000005a28"
w"
119}
4e9e3d6b5240000000005a29"
x"
120}
hasmore
j)var
i.变量命名类型
ii.同JS中的var一样。
1.var[name]命名也与js变量命名规则一致。
k)print指令
i.用于打印
ii.print([Strings]);
iii.如果打印对象为mongo数据,则会无法识别。
l)printJson指令
i.用于对数据进行打印
ii.printJson([json]);
m)shutdown
i.停止mongodb
ii.>
use数据库名
switchedtodoadmin
db.shutdownServer();
servershouldbedown…
MongoDB支持各种条件运算符,包括:
∙$lt(小于)
∙$lte(小于等于)
∙$gt(大于)
∙$gte(大于等于)
∙$all(匹配数组中的所有值)
∙$exists(检查字段是否存在)
∙$mod(模数)
∙$ne(不等)
∙$in(匹配数组一个或多个值)
∙$nin(匹配数组中的零值)
∙$or(匹配一个或另一个查询)
∙$nor(不匹配查询)
∙$size(匹配具有预定数量元素的任何数组)
∙$type(匹配具有指定BSON数据类型的值)
∙$not(不等于)
db.表名.find({字段名:
{$gt:
100}})
mongodb的更新操作符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 很全的 Mongodb数据库学习文档 php操作mongodb Mongodb 数据库 学习 文档 php 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)