MongoDB学习(一)

MongoDB

相关网站

中文网 http://www.mongodb.org.cn/

Windows系统各个64位版本下载地址 http://dl.mongodb.org/dl/win32/x86_64

Linux下载 https://www.mongodb.org/dl/linux/x86_64

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
##启动
./bin/mongod --dbpath /usr/local/mongodb/database  --logpath /usr/local/mongodb/log  --port 27017 --fork
##参数解释:
--dbpath 数据存储目录
--logpath 日志存储文件名
--port 运行端口(默认27017)
--fork 后台进程运行
./bin/mongod --help


 [root@centos mongodb]# ./bin/mongod --dbpath /usr/local/mongodb/database  --logpath /usr/local/mongodb/log/log  --port 27017 --fork
about to fork child process, waiting until server is ready for connections.
forked process: 7095
child process started successfully, parent exiting
[root@centos mongodb]# ./bin/mongo #连接


##查看数据库
show dbs
##选择数据库
use local
## 查看表
show tables

##帮助
db.help()
dbcreateClollection('user')

MongoDB操作

##Windows下
配置环境变量
MongoDB设置为系统服务

创建配置文件mongod.cfg,内容如下
systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db
#创建系统服务
D:\soft\MongoDB\Server\3.2\bin\mongod.exe --config "D:\soft\MongoDB\Server\3.2\mongod.cfg" --install

C:\Windows\system32>net start MongoDB #启动服务

基本概念

数据库 database
集合 collection
文档 document

命令


show dbs
use 数据库名
db #当前数据库

#插入
db.stus.insert({name:"孙悟空",age:500,gender:"男"})
#查询
db.<collection>.find()

---------------------------------------------------
use test;
show collection ;
db.stus.find();

/*
    插入数据
    db.<collection>.insert()
     插入数据  没有指定文本_id属性,则数据库会自动为文档插入id

*/
 db.stus.insert({"_id":2,name:"猪八戒",age:499,gender:"男"})


db.stus.insert(
[{name:"猪八戒",age:499,gender:"男"},
{name:"沙和尚",age:499,gender:"男"},
{name:"白骨精",age:499,gender:"男"}
]);
/*
    id 可以自己指定
*/
ObjectId();
/*
    find 返回的是一个数组
*/
db.stus.find()[1].name;
db.stus.find({"_id":1});
/*
    统计结果数量
*/

db.stus.find().count();

/*
    update 是替换对象 
    如果是修改而不是替换 要使用修改操作符
    update 默认只是修改一个
    multi:true 表示修改多个 默认修改一个
*/
db.stus.update({_id:1},{age:25}); 

db.stus.find({_id:2});
//替换set 删除unset
db.stus.update({_id:2},{
    $set:{
    age:25
    }}
);
db.stus.find( );
db.stus.update({name:"猪八戒"},
    {
        $set:{address:"高老庄"}
        },{
        multi:true
        }
        );

/* 删除(多个),条件和


*/
db.stus.remove({"name" : "白骨精"});
//有参数表示只是删除一个
db.stus.remove({"name" : "白骨精"},true);
//如果传递空对象,表示清空集合 效率低
db.stus.remove();
db.stus.drop()//效率高

show dbs;
//删除数据库
db.dropDatabase();

----------------------------------------------

基本操作

db.dropDatabase();
//1.进入my_test数据库
use my_test;
show dbs;
//2.向数据库的user集合中插入一个文档  
db.users.insert({
    username:"sunwukong"
});
//3.查询user集合中的文档
db.users.find();
//4.向数据库的user集合中插入一个文档  
db.users.insert({
    username:"tangseng"
});    
//5.查询数据库user集合中的文档
//6.统计数据库user集合中的文档数量
db.users.count();
//7.查询数据库user集合中username为sunwukong的文档
db.users.find({username:"sunwukong"});
//8.向数据库user集合中的username为sunwukong的文档,添加一个address属性,属性值为huaguoshan
db.users.update({"username":"sunwukong"},
{$set:{address:"huagsssuoshan"}}
);
//9.使用{username:"tangseng"} 替换 username 为 zhubajie的文档
 db.users.find();
 db.users.replaceOne({"username":"zhubajie"},{username:"tangseng"} );
//10.删除username为sunwukong的文档的address属性
db.users.update({"username":"sunwukong"},{$unset:{address :1}});
//11.向username为sunwukong的文档中,添加一个hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["sanguo","hero"]}
db.users.update({"username":"sunwukong"},{$set:{ hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["sanguo","hero"]}}} );
// 内嵌文档
//12.向username为tangseng的文档中,添加一个hobby:{movies:["A Chinese Odyssey","King of comedy"]}
db.users.update({"username":"tangseng"},{$set:{ hobby:{movies:["A Chinese Odyssey","King of comedy"]}}});
//13.查询喜欢电影hero的文档 支持内嵌文档,此时属性名必须使用引号
db.users.find({'hobby.movies' : "hero"});
//14.向tangseng中添加一个新的电影Interstellar
db.users.update({"username":"tangseng"},{$push:{'hobby.movies':'Interstellar'}});
//15.删除喜欢beijing的用户
db.users.remove({'hobby.cities' : "beijing"});
db.users.find();
//16.删除user集合
db.users.drop();
show dbs;
//17.向numbers中插入20000条数据
for(var i =1; i<2000 ; i++){
    db.numbers.insert({num:i});
};
db.numbers.find();
db.numbers.remove({});
var arr=[];
for(var i =1; i<2000 ; i++){
    arr.push({num:i});
}; 
db.numbers.insert(arr);
//18.查询numbers中num为500的文档 $get大于等于
db.numbers.find({num:{$eq:500}});
//19.查询numbers中num大于5000的文档
db.numbers.find({num:{$gt:500}});
//20.查询numbers中num小于30的文档
db.numbers.find({num:{$lt:500}});
//21.查询numbers中num大于40小于50的文档
db.numbers.find({num:{$gt:40,$lt:50}});
//22.查询numbers中num大于19996的文档
db.numbers.find({num:{$lte:10}});

//23.查看numbers集合中的前10条数据
db.numbers.find({num:{$lte:10}});

db.numbers.find().limit(10);

//24.查看numbers集合中的第11条到20条数据   skip((页码-1)*显示条数)
db.numbers.find().skip(10).limit(10);

//25.查看numbers集合中的第21条到30条数据
db.numbers.find().skip(20).limit(10);

//26.将dept和emp集合导入到数据库中


//27.查询工资小于2000的员工

db.emp.find({sal:{$lt:2000}});
db.dept.find();
//28.查询工资在1000-2000之间的员工

db.emp.find({sal:{$gt:1000,$lt:2000}});

//29.查询工资小于1000或大于2500的员工

db.emp.find({$or:[{sal:{$lt:1000}},{sal:{$gt:2500}}]});

//30.查询财务部的所有员工

deptno=db.dept.find({dname:"财务部"})[0].deptno;
db.emp.find({depno:deptno});
//31.查询销售部的所有员工
//32.查询所有mgr为7698的所有员工
//33.为所有薪资低于1000的员工增加工资400元
db.emp.updateMany({sal:{$lte:1000}},
{$inc:{sal:400}}
);


//按照工资排序 1 表示升序 2 表示降序
db.emp.find().sort({sal:1});

// 1表示显示 0 表示不显示
db.emp.find({},{ename:1,_id:0});

学习视频 搜集与网络 链接:https://pan.baidu.com/s/1yFAoxIrCFMVF1ogrx6xKfw 密码:400x

删除这两个地方的东西就好了
运行 -->regedit 
HKEY_CURRENT_USER\Software\NoSQL Manager Group
删除该文件夹
C:\ProgramData\NoSQL Manager Group
NoSQL Manager for Cassand
重启,继续免费试用30天

猜你喜欢

转载自blog.csdn.net/u012848709/article/details/81060798