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"]}}})
$ 定位符