mongoDB
的文件夹,并将压缩包解压到了这个文件夹里。systemLog:
destination: file
path: E:\software\mongoDB\data\log\mongod.log
storage:
dbPath: E:\software\mongoDB\data\db
net:
port: 27017
打开环境变量中的path,选择path双击,打开后点击“新建”,把bin目录的路径粘贴进去(我的是:E:\mongoDB\bin)
注意:以管理员身份运行CMD
切换到bin目录中,执行此命令,表示执行配置文件(注意修改自己的路径):mongod --config E:\software\mongoDB\mongod.cfg --install --serviceName "MongoDB"
如果配置文件执行报错,无法启动,那么就自己在命令行配置mongoDB,切换到bin目录中,执行此命令(注意修改自己的路径):
mongod --dbpath "E:\software\mongoDB\data\db" --logpath "E:\software\mongoDB\data\log\mongod.log" --install --serviceName "MongoDB"
在键盘上按 “WIN+R”,输入“services.msc”指令确定,打开服务后,找到MongoDB,如下图表示已经成功!
后续如果修改 mongoDB 的端口就直接改配置文件,删除服务,再重新执行“添加服务”。
db.<collection>.insert()
_id
可以自己指定,如果我们指定了,数据库就不会再添加了,如果自己指定_id必须也确保唯一性db.<collection>.insertOne() //插入一个文档对象
db.<collection>.insertMany() //插入多个文档对象
//插入一个文档对象
db.stus.insert({name:"微客鸟窝",age:18,gender:"男"})
//插入多个文档对象
db.stus.insert([
{name:"沙和尚",age:36,gender:"男"},
{name:"白骨精",age:16,gender:"女"},
{name:"蜘蛛精",age:14,gender:"女"}
])
db.<collection>.find()
db.<collection>.findOne()
db.<collection>.find({}).count()
db.stus.find({name:"沙和尚"})
db.stus.find({name:"白骨精",age:16})
db.stus.findOne({gender:"女"})
db.stus.find({}).count()
db.stus.find({}).length()
db.<collection>.update(查询条件,新对象)
db.<collection>.updateMany()
:同时修改多个符合条件的文档db.<collection>.updateOne()
:修改一个符合条件的文档db.<collection>.replaceOne()
:替换一个符合条件的文档db.stus.find()
db.stus.update(
{name:"白骨精"},{age:28}
)
db.stus.update(
{"name":"沙和尚"},
{$set:{
gender:"男",
address:"流沙河"
}}
)
//update()默认修改一条 = updateOne()
db.stus.update(
{"name":"沙和尚"},
{$unset:{address:"流沙河"}}
)
db.stus.updateMany(
{"name" :"猪八戒"},
{$set:{address:"高老庄"}}
)
//multi:true 则可修改所有满足条件的文档
db.stus.update(
{"name" :"猪八戒"},
{$set:{address:"猪老庄"}},
{multi:true}
)
db.<collection>.remove()
db.<collection>.deleteOne()
db.<collection>.deleteMany()
db.<collection>.drop()
db.dropDatabase()
删除数据库//添加两万条数据的性能高,尽量少调用系统的方法
var arr=[];
for(var i=1;i<=20000;i++){
arr.push({num:i});
}
db.user.insert(arr);
//查询numbers中num大于5000的文档
db.unmbers.find({num:{$gt:500}})
//查询numbers中num小于30的文档
db.unmbers.find({num:{$lt:500}})
//查询numbers中num大于40小于50的文档
db.numbers.find({num:{$gt:40,$lt:50}})
//查询numbers前10条的数据
db.numbers.find({num:{$lte:10}})
//limit()设置显示数据的上限
db.numbers.find().limit(10)
//查询numbers中第11条到20条的数据
//skip()用于跳过指定数量的数据 skip( (页码-1)*每页显示的条数 ).limit(每页显示的条数)
//MongoDB会自动调整limit()和skip()的位置,下面两条语句效果一样
db.numbers.find().skip(10).limit(10)
db.numbers.find().limit(10).skip(10)
db.WifeAndHusband.insert([
{
wife:"黄蓉",
husband:{
name:"郭靖"
}
},
{
wife:"潘金莲",
husband:{
name:"武大郎"
}
}
])
// 第一句是创建了两个用户, 分别是孙悟空和猪八戒
db.users.insert([{name:"孙悟空"}, {name:"猪八戒"}]);
// 这一句是查询用户内容, 这是需要知道用户的_id,从而在第三句加入
db.users.find();
// 这是生成了一个订单,并且user_id存储的是孙悟空的id
db.orders.insert({list_name:["香蕉", "桃子"], user_id: ObjectId("812419dc00852cj76m2b4d10")})
// 再生成了一个订单,并且user_id存储的是孙悟空的id
db.orders.insert({list_name:["西瓜", "人参果"], user_id: ObjectId("812419dc00852cj76m2b4d10")})
// 在users里查找到孙悟空这个用户的id,再通过此id查找孙悟空的订单
let userId = db.users.findOne({name:"孙悟空"})._id;
// 使用id来查找订单
db.orders.find({user_id: userId});
db.teacher.insert([
{name:"洪七公"},
{name:"黄药师"},
{name:"龟仙人"}
])
db.stus.insert([
{
name:"郭靖",
tech_ids:[
ObjectId("62077e5c10b3aaaec77e55b9"),
ObjectId("62077e5c10b3aaaec77e55ba")
]
},
{
name:"孙悟空",
tech_ids:[
ObjectId("62077e5c10b3aaaec77e55bb"),
ObjectId("62077e5c10b3aaaec77e55bc"),
ObjectId("62077eb210b3aaaec77e55bd")
]
}
])
db.users.find({}).sort({age:1})
db.users.find({}).sort({age:1,salary:-1}) //先指定age的升序 再salary的降序
db.users.find({}, {name: 1, _id: 0, salary: 1});
/*
这句的含义是只显示 name和salary属性,不显示 _id属性
*/