Mongodb入门

mongodb

nosql型数据库 not only sql
mongodb的文档类似于一个json对象

{
    user:{
        name: "zhang",
        age:"20"
        }
}

主要特点
  • 可以设置索引,更快排序
  • 支持丰富的查询表达式
与关系型数据库对比
RDBMSMongodb解释说明
DatabaseDatabase数据库
TableCollention表/集合
RowDocument数据记录行/文档
ColumnField数据字段/域
Table joinNone表连接
Primary keyPrimary key主键

常用操作语句

//创建数据库
use test

show dbs
db
//创建集合并且插入数据命令
db.testconnection.insert({"name":"zhang","age":"20","set":"man"})
//查看
db.testconnection.find()
//创建集合
db.createCollection("mycon")

db.mycon.insert({"name":"zhang1","age":"21","set":"man"})
db.mycon.insert({"name":"zhang2","age":"22","set":"man"})
db.mycon.insert({"name":"zhang3","age":"23","set":"man"})
db.mycon.insert({"name":"zhang4","age":"24","set":"man"})
db.mycon.insert({"name":"zhang5","age":"25","set":"man"})
db.mycon.insert({"name":"zhang6","age":"26","set":"man"})
db.mycon.insert({"name":"zhang7","age":"27","set":"man"})
db.mycon.insert({"name":"zhang8","age":"28","set":"man"})

db.mycon.save({"name":"zhang8","age":"28","set":"girl"})
//查询所有
db.mycon.find()

//更新操作  找到name为zhang1的  更改为 jay
db.mycon.update({"name":"zhang1"},{$set:{"name":"jay"}})
//批量更新
db.mycon.update({"name":"zhang1"},{$set:{"name":"jay"}},{multi:true})
//删除name为zhang2的数据

db.mycon.remove({"name":"zhang2"})

db.mycon.find({"name":"jay"})

db.mycon.find({"name":"jay","age":"20"})

db.mycon.find({"name":"jay","age":"21"})
//<25
db.mycon.find({"age" : {$lt:"25"}})
### MongoDB入门教程 MongoDB 是一种面向文档的 NoSQL 数据库,它使用 BSON(Binary JSON)格式存储数据,并支持灵活的模式设计。以下是 MongoDB 的基础知识: #### 1. 安装与配置 为了将 MongoDB 配置为服务,需要以管理员身份运行命令提示符并进入 MongoDB 的 `bin` 文件夹。例如: ```bash d: cd D:\MongoDB\Server\3.4\bin ``` 然后运行以下命令以安装 MongoDB 服务[^1]: ```bash mongod --bind_ip 0.0.0.0 --logpath D:\MongoDB\Server\3.4\data\logs\mongo.log --logappend --dbpath D:\MongoDB\Server\3.4\data\db --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install ``` #### 2. 基本操作 - **插入数据**:可以使用 `insertMany` 方法向集合中插入多条数据。例如: ```javascript db.books.insertMany([{"userName":"Jack","age":20},{"userName":"Tom"}]); ``` 注意,MongoDB 中的代码是区分大小写的[^5]。 - **查询数据**:可以通过 `find` 方法查询集合中的数据。例如,查询所有由 "tutorials point" 发表且标题为 "MongoDB Overview" 的教程: ```javascript db.mycol.find({$or:[{"by":"tutorials point"},{"title": "MongoDB Overview"}]}).pretty(); ``` #### 3. 数据建模 在项目开发中,通常会使用 Mongoose 模块来定义数据模型和方法。例如,在 `stuModels.js` 文件中定义学生模型并暴露 `insert` 和 `query` 方法[^3]: ```javascript // 导入模块 var mongoose = require("mongoose"); // 连接数据库 const db = mongoose.createConnection('mongodb://shop2:123456@localhost:27017/shop', { useNewUrlParser: true, useUnifiedTopology: true }, err => { if (err) { console.log('数据库连接失败', err); return; } console.log('数据库连接成功'); }); // 设置数据类型 const model = db.model('stu', { name: { type: String, default: "zsr" }, age: { type: Number }, sex: { type: String } }); // 添加学生方法 const insert = postData => { const insertObj = new model(postData); return insertObj.save() .then(res => res) .catch(err => { console.log('插入失败' + err); return false; }); }; // 查询所有学生方法 const query = () => { return model.find() .then(res => res) .catch(err => { console.log('查询失败' + err); return false; }); }; // 导出方法 module.exports = { insert, query }; ``` #### 4. 聚合操作 MongoDB 提供了强大的聚合框架,用于执行复杂的分析任务。例如,通过 `$group` 对文档进行分组并计算总和[^4]: ```javascript db.collection_name.aggregate([ { $group: { _id: "$field", total: { $sum: "$value" } } } ]); ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值