当前位置:   article > 正文

Redis系统、MongoDB的安装和使用_unable to locate package mongodb-org

unable to locate package mongodb-org

安装Redis

1.下载,解压压缩包
在这里插入图片描述
在这里插入图片描述
2. 赋权限给Hadoop用户

sudo chown -R hadoop:hadoop ./redis
  • 1
  1. 进入redis文件夹,编译安装
cd ./redis
sudo make
sudo make install
  • 1
  • 2
  • 3

在这里插入图片描述

4.启动redis服务器

cd /usr/local/redis
./src/redis-server
  • 1
  • 2

在这里插入图片描述
6. 新建终端,启动redis客户端

cd /usr/local/redis
./src/redis-cli
  • 1
  • 2

在这里插入图片描述

操作redis数据库

  1. 插入数据
set Student:95001:Sname Liyong
set Course:1:Cname SQL
set SC:95001:1:Grade 92
set Course:8:Cname algorithm
set Course:8:Ccredit 4
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
2. 修改数据

get Course:8:Cname  
set Course:8:Cname bianyi
Get Course:8:Cname 
  • 1
  • 2
  • 3

在这里插入图片描述
3. 删除数据

get Course:8:Cname  
del Course:8:Cname
Get Course:8:Cname 
  • 1
  • 2
  • 3

在这里插入图片描述
4. 查询数据

set Course:8:Cname bianyi
  • 1

MongoDB安装

1. 导出公共密钥到包管理器

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
  • 1

!!! Ubuntu软件包管理工具(即dpkg和apt)通过要求分销商使用GPG密钥对软件包进行签名来确保软件包的一致性和真实性。使用以下命令以导入MongoDB公共GPG密钥:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  • 1

2. 创建MongoDB的文件夹

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
  • 1

在这里插入图片描述
3. 更新包管理器

sudo apt-get update
  • 1

4. 安装,查版本

sudo apt install mongodb-org

  • 1
  • 2

在这里插入图片描述

Unable to locate package mongodb-org

遇事不决,重启重配
在这里插入图片描述
在这里插入图片描述

mongo -version
  • 1

在这里插入图片描述

5. 启动

sudo service mongod start
  • 1

默认设置下,MongoDB是随Ubuntu启动而自动启动的。可以输入以下命令查看是否启动成功:

pgrep mongod -l 
  • 1

在这里插入图片描述

6. 结束

sudo service mongod stop
  • 1

MongoDB shell模式使用

  1. 进入MongoDB Shell模式
sudo service mongod start
  • 1

输入mongo进入shell模式
在这里插入图片描述
2. 常见命令
(1) 显示数据库列表
在这里插入图片描述

(2) 显示的当前数据库中的集合
在这里插入图片描述

(3) 切换数据库
在这里插入图片描述
(4)创建集合
在这里插入图片描述
(5)插入数据
在这里插入图片描述

(6)查找数据

在这里插入图片描述

查询所有记录db.student.find()

查询sname='lisi’的记录db.student.find({sname: 'lisi'})

查询指定列sname、sage数据db.student.find({},{sname:1, sage:1})

AND条件查询db.student.find({sname: 'zhangsan', sage: 22})

OR条件查询db.student.find({$or: [{sage: 22}, {sage: 25}]})

格式化输出
在这里插入图片描述
(7)修改数据
在这里插入图片描述

(8)删除数据或集合
在这里插入图片描述

3. 退出shell模式
exit

Java API编程实例

创建java项目,导入mongo驱动的jar文件

import java.util.ArrayList;
import java.util.List; 
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters; 
public class TestMongoDB {
    /**
     * @param args
     */
    public static void main(String[] args) {
//      insert();//插入数据。执行插入时,可将其他三句函数调用语句注释,下同
        find(); //查找数据
//      update();//更新数据
//      delete();//删除数据
    }

    /**
     * 返回指定数据库中的指定集合
     * @param dbname 数据库名
     * @param collectionname 集合名
     * @return
     */
    //MongoDB无需预定义数据库和集合,在使用的时候会自动创建
    public static MongoCollection<Document> getCollection(String dbname,String collectionname){
        //实例化一个mongo客户端,服务器地址:localhost(本地),端口号:27017
        MongoClient  mongoClient=new MongoClient("localhost",27017);
        //实例化一个mongo数据库
        MongoDatabase mongoDatabase = mongoClient.getDatabase(dbname);
        //获取数据库中某个集合
        MongoCollection<Document> collection = mongoDatabase.getCollection(collectionname);
        return collection;
    }
    /**
     * 插入数据
     */
    public static void insert(){
        try{
            //连接MongoDB,指定连接数据库名,指定连接表名。
            MongoCollection<Document> collection= getCollection("School","student");    //数据库名:School 集合名:student
            //实例化一个文档,文档内容为{sname:'Mary',sage:25},如果还有其他字段,可以继续追加append
            Document doc1=new Document("sname","Mary").append("sage", 25);
            //实例化一个文档,文档内容为{sname:'Bob',sage:20}
            Document doc2=new Document("sname","Bob").append("sage", 20);
            List<Document> documents = new ArrayList<Document>(); 
            //将doc1、doc2加入到documents列表中
            documents.add(doc1); 
            documents.add(doc2); 
            //将documents插入集合
            collection.insertMany(documents);  
            System.out.println("插入成功"); 
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
    }
    /**
     * 查询数据
     */
    public static void find(){
        try{
            MongoCollection<Document> collection = getCollection("School","student");  //数据库名:School 集合名:student
            //通过游标遍历检索出的文档集合 
//          MongoCursor<Document>  cursor= collection.find(new Document("sname","Mary")). projection(new Document("sname",1).append("sage",1).append("_id", 0)).iterator();   //find查询条件:sname='Mary'。projection筛选:显示sname和sage,不显示_id(_id默认会显示)
            //查询所有数据
            MongoCursor<Document>  cursor= collection.find().iterator();
            while(cursor.hasNext()){
                System.out.println(cursor.next().toJson());
            }
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
    }
    /**
     * 更新数据
     */
    public static void update(){
        try{
            MongoCollection<Document> collection = getCollection("School","student");  //数据库名:School 集合名:student
             //更新文档,将文档中sname='Mary'的文档修改为sage=22   
             collection.updateMany(Filters.eq("sname", "Mary"), new Document("$set",new Document("sage",22)));  
             System.out.println("更新成功!");
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
    }
    /**
     * 删除数据
     */
    public static void delete(){
        try{
            MongoCollection<Document> collection = getCollection("School","student");  //数据库名:School 集合名:student
                //删除符合条件的第一个文档  
            collection.deleteOne(Filters.eq("sname", "Bob"));  
            //删除所有符合条件的文档  
            //collection.deleteMany (Filters.eq("sname", "Bob"));
            System.out.println("删除成功!");
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104

报错了
在这里插入图片描述

Nov 30, 2022 9:41:43 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout=‘30000 ms’, maxWaitQueueSize=500}
Nov 30, 2022 9:41:43 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster description not yet available. Waiting for 30000 ms before timing out
Nov 30, 2022 9:41:43 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:1, serverValue:7}] to localhost:27017
Nov 30, 2022 9:41:43 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 28]}, minWireVersion=0, maxWireVersion=7, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=2008406}
Nov 30, 2022 9:41:43 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:2, serverValue:8}] to localhost:27017

在这里插入图片描述
在这里插入图片描述请添加图片描述

在这里插入图片描述

请添加图片描述
在这里插入图片描述

请添加图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/56219
推荐阅读
相关标签
  

闽ICP备14008679号