windows安装Mongodb
官网下载:https://www.mongodb.com/download-center/community?jmp=nav
配置系统环境
path x:\xxxxxxxxx\MongoDB\Server\4.2.5\bin
开启服务器
mongod --dbpath 存储数据库路径 [--port 端口号]
配置开机自动开启
(1)、修改配置文件(在4版本之前需要创建配置文件)
cd x:\xxxxxxxxx\MongoDB\Server\4.2.5\bin
mkdir mongod.cfg
systemLog:
destination: file
path: d:\nosql\log\mongod.log
storage:
dbpath: d:\nosql\data\db
(2)、修改文件文件路径(在4版本之前需要修改)
sc.exe create MongoDB
binPath= "\"D:\MongoDB\Server\4.2\bin\mongod.exe\" --service
--config=\"D:\MongoDB\Server\4.2\mongod.cfg\""
DisplayName= "MongoDB" start= "auto"
sc.exe create MongoDB
binPath= "\"mongod的bin目录\mongod.exe\" --service
--config=\"mongo的安装目录\mongod.cfg\""
DisplayName= "MongoDB" start= "auto"
(3)、启动MongoDB
打开服务器----->启动Mongodb
CRUD
1、添加
db.collection.insert()
db.collection.insertOne()
db.collection.insertMany()
db.student.insertMany([
{"name": "李四", "age": "23", "gender": "man"},
{"name": "赵四", "age": "56", "gender": "man"},
{"name": "田七", "age": "12", "gender": "woman"}
])
2、删除
db.collection.remove( 条件, boolean )
db.collection.deleteOne()
db.collection.deleteMany()
(1)、db.Student.remove({ name: "李四" })
(2)、db.Student.remove({ name: "李四" }, true)
(3)、db.Student.remove({})
(4)、db.Student.drop()
(5)、db.Student.dropDatabase({ name: "李四" })
3、修改
db.collection.update( 查询条件, 新增对象, [条件] )
db.collection.updateMany( 查询条件, 新增对象 )
db.collection.updateOne( 查询条件, 新增对象 )
db.collection.replaceOne( 查询条件, 替换对象 )
(1)、db.Student.update(
{ name: "李四" },
{ $set: { name: "王五" }}
)
(2)、db.Student.update(
{ name: "李四" },
{ $set: { name: "王五"}},
{ multi: true }
)
(3)、db.Student.updateMany(
{ name: "李四" },
{ $unset: { name: "王五"}}
)
(4)、db.Student.replaceOne(
{ name: "李四" },
{ name: "王五" }
)
(5)、db.Student.update(
{ name: "李四" },
{ $set: { hobby: {movies: ["game","swing"]}}
)
(6)、db.Student.update(
{ name: "李四" },
{ $push: { hobby.movies: "game" }}
)
(7)、db.Student.update(
{ name: "李四" },
{ $addToSet: { hobby.movies: "game" }}
)
4、查询
db.collection.find()
db.collection.findOne()
db.collection.find().count()
(1)、db.Student.find()
(2)、db.Student.find({ name: "李四", age: 26 })
(3)、db.Student.find({ name: "lisi"})[1]
(4)、db.Student.find({ age: { $lt: 30})
(5)、db.Student.find({ $or: [{age: {$lt: 30 }}, {$sal: {$gt: 2500}})
(6)、db.Student.find({ age: { $lte: 5 })
(7)、db.Student.find({ age: { $lte: 5 })
eq: "等于", gt: "大于", lt: "小于", lte: "前面部分"
(8)、db.Student.find().limit(10)
(9)、db.Student.find().skip( 10 ).limit( 5 )
(10)、db.Student.find().sort( { name: 1 } )
(11)、db.Student.find().sort( { name: 1, age: -1 } )
1: "升序", -1: "降序"
(12)db.Student.find({},{ name: 1, age: 0 });
1: "显示", 0: "不显示"
Mongoose( 对象文档模型 - ODM )
(1)、连接Mongoose数据库( https://mongoosejs.com/)
<!-- 1、下载Mongoose -->
npm i mongoose --save
<!-- 2、在项目中引用 Mongoose -->
var mongoose = require("mongoose");
<!-- 3、连接Mongodb数据库, 且会创建数据库-->
mongoose.connect('mongodb://主机IP/主机名: 端口号/ 数据库名', {useMongoClient: true });
mongoose.connect('mongodb://localhost:27017/ student', {useNewUrlParser: true, useUnifiedTopology: true});
<!-- 4、测试是否Mongodb数据库是否连接(不是必须的)-->
mongoose.connection.once("open", funtiong(){})
mongoose.disconnect();
mongoose.connection.once("close", funtiong(){})
(2)、使用Mongoose数据库 ( https://mongoosejs.com —> doc —> API —>Modle)
<!-- 1、 创建Schema(模式)对象: 创建数据库的字段约束 -->
var mongoose = require('mongoose'); # 导入mongoose对象
var Schema = mongoose.Schema;
var blogSchema = new Schema({ # 创建Schema(模式)对象
name: String,
age: int,
gender: {
type: String,
default: "woman" # 设置默认值
},
address: String
});
<!-- 2、 创建Modlel: 实现数据库映射 (注: Mongoose会自动将数据库名转化为复数) -->
var stuModel = mongoose.model('student', blogSchema);
<!-- 3、CRUD操作 -->
<!-- 添加 -->
stuModel.create([
{
name: "张三",
age: 18,
gender: "woman",
address: "南昌"
},
{
name: "李四",
age: 23,
gender: "man",
address: "上海"
},
]{,function(err,docs){})
<!-- 查询: -->
stuModel.find({name: "李四"},"name age -_id",function(err,docs){
if(!err){
return docs[0].name;
}
})
stuModel.findOne()
Model.findById()
<!-- 修改: --->
stuModel.update({name: "李四"},{$set:{age:20}})
stuModel.updateMany()
stuModel.updateOne()
<!-- 删除: --->
stuModel.remove({name: "李四"})
stuModel.deleteOne()
Model.delteMany()