我这里针对的是linux不能联网的环境下一系列安装教程,如果你的平台可以联网,那下载mongoDB、安装相关依赖可以直接apt-get
1.下载mongoDB安装包:mongodb-linux-x86_64-ubuntu2204-8.0.5.tgz
https://www.mongodb.com/try/download/community
2.解压文件并创建必要的目录
# 创建安装目录
# 创建安装目录
mkdir -p /usr/local/mongodb
sudo tar -zxvf mongodb-linux-x86_64-ubuntu2204-7.0.5.tgz -C /usr/local/mongodb
#添加环境变量
echo 'export PATH=/usr/local/mongodb/mongodb-linux-x86_64-ubuntu2204-8.0.5/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
mkdir -p /data/db /data/configdb /var/log/mongodb
chmod -R 777 /data/db /var/log/mongodb
3.创建配置文件
mkdir -p /etc/mongodb
cat > /etc/mongodb/mongod.conf << EOF
storage:
dbPath: /data/db
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
bindIp: 0.0.0.0
processManagement:
fork: true
EOF
4.启动mongoDB前需要安装依赖项(在本地docker下载之后上传)
apt-get download \
libcurl4 \
libnghttp2-14 \
librtmp1 \
libssh-4 \
libpsl5 \
libbrotli1 \
libldap-2.5-0 \
libgssapi-krb5-2 \
libkrb5-3 \
libk5crypto3 \
libkrb5support0 \
libssh2-1 \
libgnutls30 \
libsasl2-2 \
libhogweed6 \
libnettle8 \
libgmp10 \
libidn2-0 \
libunistring2 \
libp11-kit0 \
libtasn1-6 \
libffi8 \
libsasl2-modules-db \
libdb5.3 \
libssl3 \
libcom-err2 \
libkeyutils1
#按顺序安装:
dpkg -i \
libcom-err2*.deb \
libkeyutils1*.deb \
libkrb5support0*.deb \
libk5crypto3*.deb \
libkrb5-3*.deb \
libgssapi-krb5-2*.deb \
libssl3*.deb
dpkg -i libdb5.3*.deb
dpkg -i \
libsasl2-modules-db*.deb \
libsasl2-2*.deb
5.启动mongoDB服务
mongod --config /etc/mongodb/mongod.conf
6.如果想要终止服务
# 查找 MongoDB 进程
ps aux | grep mongod
# 使用进程号终止
kill -9 xxx
7. 我喜欢通过python库进行访问,给个示例:
from pymongo import MongoClient
import json,time
def connect_to_mongodb(host='localhost', port=27017):
"""连接到MongoDB"""
client = MongoClient(host, port)
return client
def import_json_to_mongodb(file_path, database_name, collection_name):
"""从JSON文件导入数据到MongoDB"""
# 连接数据库
client = connect_to_mongodb()
db = client[database_name]
collection = db[collection_name]
# 读取JSON文件
with open(file_path, 'r', encoding='utf-8') as file:
data = json.load(file)
# 如果数据是列表,使用insert_many,否则使用insert_one
if isinstance(data, list):
collection.insert_many(data)
else:
collection.insert_one(data)
print(f"数据已成功导入到 {database_name}.{collection_name}")
# 使用示例
if __name__ == '__main__':
# 配置信息
DB_NAME = '数据库名字'
COLLECTION_NAME = '数据表名字'
JSON_FILE_PATH = '数据表的json路径'
# 如果是第一次使用,需要导入json文件,之后运行则无需导入,直接注释掉即可
import_json_to_mongodb(JSON_FILE_PATH, DB_NAME, COLLECTION_NAME)
# 连接数据库
client = connect_to_mongodb()
db = client[DB_NAME]
collection = db[COLLECTION_NAME]
collection.create_index("实体")
print(list(collection.find({'实体': '吴京'}))) #返回json list