1、下载和安装mongodb
cd /tmp
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.1.tgz
tar xzvf mongodb-linux-x86_64-rhel70-4.0.1 -C /tmp/
mv mongodb-linux-x86_64-rhel70-4.0.1 /usr/local/mongodb
2、创建数据存储目录和日志文件目录
mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
3、编辑MongoDB启动配置文件
mkdir -p /usr/local/mongodb/bin
cd /usr/local/mongodb/bin
vi mongodb.conf
内容:
dbpath = /usr/local/mongodb/data/db //数据存储目录
logpath = /usr/local/mongodb/logs/mongodb.log //日志文件目录
fork = true //后台运行
auth=true
bind_ip=0.0.0.0
注意如果这里不正确,会报如下错误:
注:成功如图所示【非红框部分】
4、MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中vim /etc/profile
内容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=PATH:PATH:MONGODB_HOME/bin //末尾处添加
以上内容会报错,应修改如下:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile //重新加载环境变量
5、启动MongoDB
cd /usr/local/mongodb/bin
mongod -f mongodb.conf
6、连接MongoDB并访问
/usr/local/mongodb/bin/mongo
成功界面:
7、java连接mongodb
/**
* 非封装 请求mongodb
* @param args
*/
public static void main(String[] args) {
MongoClient client = null;
MongoCredential credential = MongoCredential.createCredential("yhj","fczx","123456".toCharArray());
ServerAddress address = new ServerAddress("47.115.169.222",27017);
client = new MongoClient(address, Arrays.asList(credential));
MongoDatabase mdb = client.getDatabase("fczx");
mdb.createCollection("aaa");
MongoCollection<?> table = mdb.getCollection("aaa");
FindIterable<?> fi = table.find();
for (Object o : fi) {
System.out.println(o);
}
}
Maven依赖:
<!--mongo start -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>3.6.3</version>
</dependency>
<!--mongo end -->
其中就碰到问题,
1、比如robo T3连接远程mongodb时,需要创建用户和数据库才能连接。
创建数据库
use fczx
创建用户
db.createUser({
user:”yhj”,
pwd:”123456”,
roles:[{
role:”dbAdmin”,
db:”fczx”
}]
})
2、授权校验问题。
3、使用细节
mongoUtil.insert, (集合名称,List<实体类>)
mongoUtil.find, (集合名称,bson,实体类Class)
Bson bson = Filters.and(new Bson[]{Filters.eq ("userId", userId)});
细节:
修改什么文件之前都要做备份
Mongodb就是其解压后的重命名,而非重新创建一个文件夹。
如果出现对象的话,如何保存在mongodb。
【比如一个文档内存储某活动的发送的手机号和状态】
在mongodb上:
在java上,要这样查: