mongodb使用

本文介绍了MongoDB的基本概念,包括其分布式文件存储的特性,适合于高性能数据存储的解决方案。详细讲述了MongoDB的下载安装过程,并列举了常用的数据库操作,如查询(模糊与范围、字段判空、排序)、插入和更新,帮助读者快速上手MongoDB的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


推荐导航

0.系统学习导航传送


一.概述

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

二.下载安装

三.常用命令

show dbs;                   查看仓库
use db_promotions_test      切换到对应仓库
db								查看当前所在仓库
show tables                 查看仓库的表信息
db.createCollection("table");  创建集合;
db.test.find();             查询对应表的数据
db.test.insert({'':''});    插入对应表的数据
db.tradeFlowShopRule.insertMany([{}, {}])  批量插入对应表的数据
db.test.find({money:{$gt:"100"}})  大于
db.test.find({title:/你/})		包含"你"

四.命令分类

查询-模糊与范围

db.test.find({"testList.test2List.name":"张三"}); // 多级嵌套查询;
db.test.find({money:{$gt:"100"}})  大于
db.test.find({money:{$gte:"100"}}) 大于等于
db.test.find({money:{$lt:"200"}}) 小于操作符 - $lt
db.test.find({money:{$lte:"200"}})  小于等于操作符 - $lte
db.test.find({money:{$gt:"200", $lt:'''100'}})     查询 - $lt 和 $gt
db.test.find({"time": {$gt: ISODate("2021-05-13 23:52:30.901")}; 注意: 日期时间判断

db.test.find({title:/你/})		包含"你"
db.test.find({title:/^你/})     开头"你"的
db.test.find({title:/你$/})   结尾是"你"的

字段判空

db.test.find({"logs":{$exists:true}})		//查询longs字段存在记录
db.test.find({"test":{"$ne":null, $exists:true}});	//查询test不为null并且存在记录

排序

db.test.find().sort({"createTime":-1})  根据创建时间戳排序, 值填1, -1;

插入

db.test.insert({"name":"zhangsan","age":1});	//插入单个
db.test.insertMany([
{"name":"zhangsan","age":1},
{"name":"lisi","age":2}
]); //批量插入

更新

语法格式:db.collection.update(<query>, <update>,{upsert: <boolean>, multi: boolean>,writeConcern: <document>}) query:查询条件, update:update : update的对象和一些更新的操作符(如 , , ,inc…)等

  • 第三个参数

    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。
  • inc:只能用于操作数值类型的数据,包括整数、长整数和双精度浮点数,用于其他类型的数据会导致操作失败。

db.test.update({'name':'张三'}, {$set:{'name':'李四'}}); //第一个参数:查询条件, 第二个参数修改结果;
db.test.update({'name':'张三'}, {$set:{'name':'李四'}}, true)  //更新查询条件修改,找不到时插入一条
db.test.update({'name':'张三'}, {$inc:{'age':10}}, true)  //修改前age是1, 执行后age:11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值