MongoDB数据库基本用法

本文主要介绍了MongoDB数据库的相关操作,包括开启客户端连接数据库、创建集合(显式和隐式),以及集合的增删改查方法,如按条件查询、比较查询、逻辑查询等。还讲述了在Node.js中使用MongoDB的步骤,以及MongoDB数据的导出和导入操作。

Mongodb

1.mongo 开启客户端 连接数据库

 show dbs 查看数据库
 use('数据库名称')创建/使用数据库

(在这里创建一个名为teacher的数据库)

// 如果有该数据库 就是使用它
use('teacher')
// 没有该数据库 就是新建一个
use('teacher');

2.在数据库中创建集合

(在这里创建一个名为person的集合)

显式创建
> db.createCollection('person'); //创建一个集合
隐式创建
 db.person.insert({name:'cpx'})
    // 隐式创建一个集合
 show collections // 查看teacher的集合

增删改查的方法是使用在数据库里的集合上面的

db.集合名.find() 查询
db.person.find({});
//({})什么都不写是显示集合里所有数据

按条件查询 { $regex: “查询包含内容” }

collection.find({ "username": { $regex: "李" } }).toArray(function (err, result) {
     if (err) {
           throw err;
     } else {
           console.log(result);
      }
})
查询的第二个参数

1.如果不想显示某属性 例如name属性 ↓

db.person.find({}, {name:0}) 

2.如果想查询某一个属性:查询记得写json格式的

db.person.find({}, {name:"张三"}) 
  • 简单查询 find/findOne

如果没有指定条件,则返回所有的文档/如果没有指定返回的键,就返回该文档中所有的键

格式:db.collection.find({条件}, {返回的键})
  • 比较查询

在mongodb中,提供了一组比较操作符。

规则:将键名写在外面,比较操作符写在里面,以对象的形式来书写
$lt    <  less than 小于
$lte   <=  less than and equal 小于等于
$gt    >   greater than 大于
$gte   >=  greanter than and equal 大于等于 
$ne    !=   not equal 不等
  • 逻辑查询(or/and/not)
and查询–同时满足多个条件

进一步的需求:查询所有的18~25岁的person,分解成两个:>=18 和 <=25

db.集合名.find({age:{$get:18,$lte:25}})
db.集合名.inster() 增加/插入

(写入json格式的数据)

db.person.inster({name:'张杰',age: 18});
db.集合名.undata() 修改/替换

(写入json格式的数据)

db.person.update({name:'张杰',age: 18},{name:'小张杰',age: 8});
// 修改成功后会返回一句话
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 });
"nMatched":匹配的
"nModified":修改的
修改 - 第一个参数 修改数据包含条件, 第二参数前要加上{$set: {全部修改内容}}
collection.updateOne({ "name": "李鑫" }, { $set: { "name": "李垚" } })
db.集合名.remove() 删除
db.person.remove();

在nodejs中使用mongodb

  • 1.下载 mongodb npm i mongodb -S

  • 2.引入

var mongobd = require('mongobd');
  • 3.步骤

// 1.mongodb模块中提供的一个创建客户端对象的方法
var MongoClient = mongobd.MongoClient;

// 2.mongobd服务器的地址
var BD_address = 'mongobd://localhost:27017';

// 3.创建一个数据库连接对象 connect方法 con连接对象
MongoClient.connect(BD.address, {useNewUrlParser: true}, function(err, con) {
    // useNewUrlParser: true 可以省略
    //con参数是connection的简写,表示创建出来的连接对象
    if(err) {
        throw err;
    }
    // 选择数据库
    var db = con.db('teacher'); //写入数据库名称
    // 选择一个集合
    var collection = db.collection('person'); //写集合名称
    
    // 然后就可以对集合进行增删改查
    // 查
    collection.find()
})

MongoDB导出数据

1.新建文件夹(准备导入的地方)
2.按住shift 右键打开PowerShell
3.输入指令
 mongoexport -d 数据库名 -c 集合名 -o 导出的地址及文件名称
例如:
mongoexport -d test -c user -o ./user.json

MongoDB导入数据

mongoimport -d 数据库名 -c 集合名 导出的地址及文件名称
例:
mongoimport -d MyStore -c bill_list ./billList.json

参数说明

d:指明数据库名,本例中为"MyStore "
c:指明collection名,本例中为"bill_list "
billList.json:导入的文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值