mongodb设置数据库用户,权限,java mongodb driver3.0驱动用户验证

来源:互联网 发布:网络马甲是什么意思 编辑:程序博客网 时间:2024/06/07 05:17

一.设置mongodb超级管理员,数据库管理者
1.设置mongodb超级管理员:

> use adminswitched to db admin> db.createUser({user:'super',pwd:'super',roles:['root']})Successfully added user: { "user" : "super", "roles" : [ "root" ] }

2.为数据库添加管理员:为wechat数据库添加root管理员

> use wechatswitched to db wechat> db.createUser({user:'root',pwd:'tiger',roles:[{role:'readWrite',db:'wechat'}]})Successfully added user: {        "user" : "root",        "roles" : [                {                        "role" : "readWrite",                        "db" : "wechat"                }        ]}

二.启动mongodb验证
–dbpath:数据库位置
–logpath:日志位置

cd D:\win8pro\developSoftware\Mongodb\binmongod --dbpath "D:\win8pro\developSoftware\Mongodb\db" --logpath "D:\win8pro\developSoftware\Mongodb\log\mongodb.log" --auth

验证用户:

先试用数据库再验证:D:\win8pro\developSoftware\Mongodb\bin>mongoMongoDB shell version: 3.0.6connecting to: test> use wechatswitched to db wechat> db.auth('root','tiger')1> show collectionssystem.indexest_users或者登录时直接验证:D:\win8pro\developSoftware\Mongodb\bin>mongo localhost:27017/wechat -u root -p tigerMongoDB shell version: 3.0.6connecting to: localhost:27017/wechat>

本地验证成功后就可以在java登陆验证了
三.java mongodb driver3.1.0数据库连接验证及简单数据插入,查询
直接上代码:

package com.tecsun.wechat.test;import java.util.Arrays;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import com.mongodb.client.MongoIterable;/** * 功能说明:java链接操作mongodb *  * @author xx 2015年10月16日 *         思路:1.建立连接并验证 2.获取一个集合列表 3.获取选择第一 * 个集合 4.插入集合 5.查询集合 */public class MongodbTest{    /**     * 连接mongodb数据库服务,验证用户名密码     *      * @return     * @author xx 2015年10月16日     */    private MongoDatabase connectMongoDB(String name, String databaseName, char[] pswd)    {        //创建个 credential对象        MongoCredential credential = MongoCredential.createCredential(name, databaseName, pswd);        //把对象传入mongoClient的构造方法中,说明:用户名密码端口啥的都正确会得到mongoClient,否则程序会报错        //mongodb还有很多种验证方式 详见:http://mongodb.github.io/mongo-java-driver/3.0/driver/reference/connecting/authenticating/         MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), Arrays.asList(credential));        MongoDatabase db = mongoClient.getDatabase("wechat");        return db;    }    /**     * 获取一个文档     *      * @param db     * @author xx 2015年10月16日     */    private MongoCollection<Document> getDBCollection(MongoDatabase db, String setName)    {        MongoIterable<String> cols = db.listCollectionNames();        for (String c : cols)        {            System.out.println("collectionName: " + c);        }        MongoCollection<Document> col = db.getCollection(setName);        if (col != null)            return col;        else            return null;    }    /**     * 插入一条数据     *      * @param col     * @param username     * @param password     * @author xx 2015年10月16日     */    private void insertCollection(MongoCollection<Document> col, String username, String password)    {        // new一个BasicDBObject 对象        // BasicDBObject obj =new BasicDBObject("username", username);        // obj.append("password", password);        Document doc =new Document();        doc.put("usename", username);        doc.put("password", password);        col.insertOne(doc);        ;    }    /**     * 查找一个doc     *      * @param colName     * @author xx 2015年10月16日     */    private void findColByColName(MongoCollection<Document> doc)    {        FindIterable<Document> mydoc = doc.find();        for (Document d : mydoc)        {            System.out.println(d.toJson());            System.out.println(d.toString());        }    }    public static void main(String[] args)    {        MongodbTest mo = new MongodbTest();        MongoDatabase db = mo.connectMongoDB("root", "wechat", "tiger".toCharArray());        if(db!=null){            MongoCollection<Document> doc = mo.getDBCollection(db, "t_users");            if(doc!=null){                mo.insertCollection(doc, "chener", "123");                mo.findColByColName(doc);            }        }    }}
0 0
原创粉丝点击