美文网首页
mongodb 基本用法

mongodb 基本用法

作者: 明里人 | 来源:发表于2019-05-14 11:13 被阅读0次
解决不是内部命令:
  将mongo的地址配置到环检变量下的path:
  ;C:\Program Files\MongoDB\Server\3.4\bin
  将mongo执行存储数据库的文件夹:mongod --dbpath d:\mongodb (文件名)
  执行: mongo

基本使用:
1、导入文件中的数据
  注意:需重新打开一个cmd,不可在mongo运行后使用该命令
  mongoimport --db cyl --collection score --drop --file d:\data.txt
  mongoimport:导入数据库命令
  --db cyl:指定导入的数据库
  --collection score:指定导入的集合
  --drop:将集合清空后添加至数据库,省略为在原有数据基础上追加数据
  --file d:\data.txt:导入的文件目录
2、列出所有数据库
  show dbs
3、使用数据库
  use cyl   创建也是使用 use,但创建后使用 show dbs查看没有改数据库,需要添加数据才可列出该数据库
4、查看当前所使用的数据库
  db
5、删除数据库
  删除只能删除当前使用的数据库,所以删除数据库前需先使用要删除的数据库
  db.dropDatabase()
5、显示当前数据库下的所有集合
  show collections
6、创建集合
  db.collection.insert() //给集合添加数据即可创建集合
7、删除集合
  db.collection.drop()

一、插入数据
  插入数据时如果集合不存在,插入操作将创建集合
  插入文档操作遗漏_id字段时,mongodb自动为_id生成一个ObjectId
  1、db.collection.insertOne() 
    向集合插入单个文档 document
    db.users.insertOne(
      {
        name: 'cyl',
        age: '12',
        status: 'yes'
      }
    )
  2、db.collection.insertMany()
    向集合插入多个文档 document
    db.users.insertMany(
      [
        {name: 'cyl',age: '12',status: 'A'}
        {name: 'cyl',age: '12',status: 'B'}
        {name: 'cyl',age: '12',status: 'C'}
      ]
    )
  3、db.collection.insert()
    向集合中插入一个或多个文档
    插入一个:与insertOne一致
    插入多个:与insertMany一致,添加文档数组

二、查询数据
  $gt:大于、  $lt:小于、  $gte:小于或等于、  $lte:小于或等于
  $ne:不等于!= 、 $eq = 、 /张/:模糊查找、 /^张/:张开头
  /张$/:张结尾、 $type:类型查询
  类型查询:db.collection.find({'title': {$type: 'string'}})//类型为string
  模糊查找:db.collection.find({name: /张/})
  排除查询:db.collection.find({age: {$ne: 12}}) // 除age为12的所有数据
  - 查询数据返回指定属性字段:如查询年龄小于20的数据的name
  db.collection.distinct('name',{age: {$lt: 20}})

  1、db.collection.find({})  //选择集合中所有文档
  2、指定查询过滤条件
    db.users.find( { status: 'A'} )
    db.users.find({
      status: {
        $in: ['P','D'] // 字段为P或者D的所有文档
      }
    })
  3、指定 and(和) 条件
    查询 status等于A 并且 age 小于 30
    db.users.find(
      { status: 'A',age: { $lt: 30}}
    )
  4、指定 or(或) 条件
    db.users.find(
      {
        $or: [{status: 'A'}, {age: { $lt: 30}}]
      }
    )
  5、sort排序(1为正序,-1为倒序)
    db.score.find().sort({age: 1, ...(多条件排序)})
  6、取指定条数 limit
    db.score.find().limit(2)  // 为0时显示所有数据
  7、跳过指定条数 skip
    db.score,find().skip(2)
    //分页查询使用skip决定从哪个位置开始
    skip = (pageIndex - 1) * pageNum
  8、结合使用
    db.score.find().sort({age: 1}).skip(2).limit(2)
  9、查询数量
    db.collection.count()
    db.collection.find({条件}).count()
    db.collection.count({条件})

三、更新操作
  1、db.collection.updateOne():更新匹配到的一个文档
    db.score.update({name: '沈八'},{$set: {age: 12}}) // 修改一行
    // 符合条件都修改
    db.score.update({sex: '男'},{$set: {age: 12}},{multi: true}) 
    //完整替换
    db.score.update({sex: '男'},{age: 12}) 将sex 为 男的 一条数据内容替换为 age=12; // 不使用$set替换后,该条数据只有_id与age两个属性
  2、db.collection.uploadMany():更新所有匹配到的文档
  3、db.collection.replaceOne():最多只替换一个文档
  4、db.collection.update():最多只更新或替换一个文档

四、删除操作
  1、db.collection.remove({sex: '女'}) //条件删除 会删除所有符合条件数据
  2、db.collection.remove({sex: '女'},{justOne: true}) //只删除一个
  3、db.collection.remove({}) // 删除集合中所有的文档

五、node 操作 mongodb
  1、下载mongodb模板
    cnpm install mongodb --save-dev
  2、引入
    const mongodb = require('mongodb')
    const mongoClient = mobgodb.mongoClient;
    mongoClient.connect('mongodb://127.0.0.1:27017',{useNewUrlParser: true },function(err,client){
      // useNewUrlParser: true 解决URL字符串解析器被抛弃的方案
      // client表示 mongodb
    if(err){console.log('连接数据库失败');}
      client.db('cyl'); //创建数据库
      db.collection('store').inserOne();// 创建集合并插入数据 或者
      db.createCollection('store',function(err,res){});
    })
  3、find查找后对数据操作的方法
    -1、pretty():让查找的数据更直观的展示
    -2、toArray():将查找的数据以数组的形式展现
  4、聚合管道 aggregate:
    当前命令的输出结果作为下一个命令的参数
    聚合框架中的几种操作:(按顺序使用)
    $project:修改输入文档的结构
    $match:用于过滤数据
    $sort:将输入的文档排序后输出 
    $skip:跳转指定数量的文档
    $limit:文档个数
    使用左连接:$lookup
    {
      from: '' //左集合 要和哪个集合进行合并
      localField:''  //左集合要连接的字段
      foreignField:'' //外部的集合连接的字段
      as:'' // 找到的信息放到该字段中(类型array)
    }
  5、封装一个node连接mongodb
    const mongodb = require('mongodb');
    const mongoClient = mongodb.MongoClient;
    function _connect(cb){
      mongoClient.connect("mongodb://127.0.0.1:27017",{useNewUrlParser: true},function(err,client){
        cb(client.db('cyl'))
      })
    }
    module.express.insertOne = function(coll,obj,cb){
      _connect(function(db){
        db.collection(coll).insertOne(obj,cb);
      })
    }

相关文章

  • MongoDB基本用法

    简介(https://www.mongodb.com/) MongoDB是为了快速开发互联网Web应用而设计的数据...

  • Mongodb 基本用法

    数据库操作 创建数据库 查看所有用户 向指定数据库添加数据 删除数据库 删除集合 集合操作 【基本软件必备的增删改...

  • mongodb 基本用法

  • MongoDB 基本操作用法

    MongoDB文档 基本操作 update 基本操作 find 基本操作 aggregate 终端用法 导入导出

  • mongodb +express +ejs 的基本用法

    var express = require('express');var app = express();var ...

  • Mongodb数据库(2)

    上一篇了解了Mongodb基本常识,下面继续: 一、查询语句: find() 用法: 查询数据,不加任何参数默认返...

  • node连接mongodb

    原文链接node连接mongodb mongodb安装 mongodb下载mongodb配置 mongodb基本命...

  • PHP MongoDB 查询文档 --- 2022-04-02

    本章介绍PHP MongoDB文档查询的用法。 前置教程 MongoDB教程[https://www.tizi36...

  • MongoDB用法

    $ne不等于 查询x 的值不等于3 的数据 $in包含 与sql 标准语法的用途是一样的,即要查询的是一系列枚举值...

  • MongoDB查询结果排序 --- 2022-04-03

    本章介绍,MongoDB查询结果排序,类似MYSQL order by的用法,MongoDB的分页查询通过Curs...

网友评论

      本文标题:mongodb 基本用法

      本文链接:https://www.haomeiwen.com/subject/pzojaqtx.html