1.centos7安装
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz
tar zxf mongodb-linux-i686-1.8.2.tgz
将mongodb移动到/usr/local/server/mongdb文件夹
mv mongodb-linux-i686-1.8.2 /usr/local/server/mongodb
创建数据库文件夹与日志文件
mkdir /usr/local/server/mongodb/data
touch /usr/local/server/mongodb/logs
设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动
echo "/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data –logpath=/usr/local/server/mongodb/logs –logappend --auth –port=27017" >> /etc/rc.local
启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/server/mongodb/mongodb-linux-i686-1.8.2/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend --auth --port=27017 --fork
//这个是不需要密码的
/usr/local/server/mongodb/mongodb-linux-i686-1.8.2/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend --port=27017 --fork
遇到的问题: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 解决方案: yum install glibc.i686
error while loading shared libraries: libstdc++.so.6: cannot open shared object file:
解决方案: yum whatprovides libstdc++.so.6 (根据提示)yum install libstdc++-4.8.3-9.el7.i686
2.操作
show dbs; zou
use zou;
db.dropDatabase();
db.persons(集合).insert<{name:"uscpat"(记录)}>
show collections
system.indexes 索引-ID(自动生成)
db.persons.find()
db.persons.findOne()
db.persons.update({name:"zouhuiying"},{$set:{name:"haoning"}})
p=db.persons.findOne()
db.persons.update(p,{$set:{name:"zouhuiying"}})
db.persons.remove({name:"zouhuiying"})
db.persons.remove()
db.persons.drop()
命名是带“-”
db.getCollection().persons.find()
function insert(object){
db.getCollection("db-text").text.insert(object)
}
insert({name:"yun"})
db.getCollection("db-text").text.find()
db.eval("return 'mongodb'")
批量插入:
for(var i=0;i<10;i++){
... db.persons.insert({name:i})
... }
inset ,save(id可以相同,更新操作)
db.persons.update({查询器},{修改器},false,false)
(第一个是uporinsert开关,第二个是批量操作开关,批量操作只能和$set一起工作)
修改器:
$set 有修改没有添加
$inc 自增 db.persons.update({name:3},{$inc:{name:1}})
$unset 去掉键值 db.persons.update({age:1},{$unset:{name:2}})
$push db.persons.insert({_id:5,name:5,books:[]})
db.persons.update({_id:5},{$push:{books:"python"}})
db.persons.update({_id:5},{$push:{class:"one"}}) (没有则新建)
只能push数组
$pushall 批量 db.persons.update({_id:5},{$pushAll:{xingming:["zou","hao"]}})
$addToSet 添加数组,有不操作,没有添加db.persons.update({_id:5},{$addToSet:{xing:["zou","hao"]}})
$pop 数组删除值 db.persons.update({_id:5},{$pop:{xing:-1}}) -1第一个,1第一个
$pull db.persons.update({_id:5},{$pull:{books:"js"}})
$pullAll 批量删db.persons.update({_id:5},{$pull:{books:["kk","js"]}}})
$ 定位符