Mongodb入门

目录

首先你就把mg当成一个数据库,他可以储存很多数据一个容器,不用把他和传统的关系型数据库对立起来,或者你可以将所有结构化,半结构化,非结构化的数据库都可以当成是储存数据的容器,只是他们各有优势, 侧重点不一样,所以他们也并不神秘,尤其不要被一系列的概念:nosql,newsql,这类名词吓到,

mg的特点

没有事务概念,没有表结构的概念,安全,没有join概念,ps:你就暂时当它是个一个升级版本的excel,

mg的目录结构

bin—-
data—数据存储文件夹
conf—配置文件夹 —
mg.conf : port:12345 dbpath:data logpath:log/mg.log fork:true(后天运行)
log—–日志文件夹

crud

1.先链接mg: 127.0.0.1:12345
—————— ip port 集合名字
2.查看所有的数据库—-
—————- show dbs 出现 test1 test2
3.选择一个 use test1
4. .查看所有的集合—-相当于表
—————- show collections 出现 col_1 col_2
5. 查询一个表中的数据
——————db.col_1.find();
6.插入数据:首先mg中的数据格式就是 json格式,
———-db.col_1.insert({x:1}); .insert({x:1,y:2,z:8})
同时它支持 js的语法
for(int i =0;i<5;i++)
db.col_1.insert({x:i});
7. 计数
——— db.col_1.find().count();
8.更新: .update({x:1},{x:99}) 就是 将 x=1的数据更新为 x=99,并且它只会更新找的结果集中的 第一条,如果需要将x=1的结果集全都更新:
. update.({x:1},{$set:{x:99}, false,true })
9.删除: 默认会删除找到的所有的结果集;
remove({x:2})

索引

  1. 创建索引
    ensureIndex({x:1}) x是字段名, 1 是方向 可以是-1
  2. 全文索引
    ensureIndex({“title”:“text”}) title 是字段名。
    查询方法:
    find{   $text: 
                      -----  { $search:   "aa   -cc "  } })  包含aa,但不包含cc  

         find{ $text:  
                   { $search:   "   \“aa \”  \“bb\”  "  } }) 
                   同时包含aabb        
### 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" } } } ]); ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值