mongoDB小结

#mongoDB小结

首先介绍一个非常非常好用的客户端,长得像一个绿色的火箭的东西Robo 3T.工具,做增删改查都很方便。

  • mongo安装
    网上有很多mongo安装的教程,小编在这里就不一一介绍了,主要分为几个步骤:
    1.下载mongo文件,直接从官网下载即可
    2.上传文件到服务器,解压文件 tar zxvf 文件名
    3.将解压后的文件移动到指定文件夹
    : mv mongodb-linux-x86_64-rhel62-3.4.10 /usr/local/mongodb
    : 注意:mongodb不需要提前创建 不要在后面加/

    4.创建两个文件
    : mongodb文件夹下创建 mongodb.conf
    : mongodb文件夹下创建logs文件夹,并在logs文件夹下创建mongodb.log文件

  • mongo启动方式
    mongo启动方式有两种 :
    1.直接启动 进入bin文件夹 ./mongo
    2.配置文件启动 mongod -f /usr/loacl/mongodb/mongodb.conf

  • 用连接工具进行连接
    用连接工具进行连接,就需要在配置文件内,配置IP。就不是以127.0.0.1的方式启动了。

 配置文件:
dbpath = /usr/local/mongodb/data/db
logpath = /usr/local/mongodb/logs/mongodb.log
logappend = true
port = 27017
fork = true
bind_ip = 192.168.1.222
auth=true

我们如果想要在bin目录下启动:./mongo 192.168.1.222:27017

  • 安全配置(未解决问题)
    我想创建一个数据库,然后创建 用户名 和密码
    use admin,切换到admin 然后创建用户权限,会报错,‘no authentication’ ,百度了好多无果。如果能解决,希望可以告诉我。
    use admin
    db.createUser(
    {
    user: “admin”,
    pwd: “admin”,
    roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
    }
    )
    一直报:Error: couldn’t add user: not authorized on admin to execute command

  • 创建数据库
    mongo创建数据库很简单,直接use 数据库名称 就直接创建了一个数据库,创建完数据库后,需要创建连接这个数据库的用户名和密码。
    相关连接:http://www.jb51.net/article/48217.htm

  • 连接数据库,进行数据操作
    连接数据库时,use 数据库名称 ,然后查看数据库的时候也会出现 no author 的情况,我们使用 db.auth(‘用户名’,‘密码’); 进行连接 返回值1 就连接成功了。连接成功后我们可以查看 里面的数据 db.getCollection(“表名”); 查看一个表中所有数据,这样使用db.author就没有权限的限制了。
    mongo创建表
    mongo创建表非常简单,mongo是非关系型数据库,表和表之间没有复杂的联系。我们创建表时不需要像mysql一样创建表结构,只需要执行
    db.createCollection(“zyzs_notice_subsetPage”);

  • mongo增删改查
    存入mongo的数据是json格式的字符,我们在mongo插入数据时也是很简单的。
    插入数据:db.getCollection(‘zyzs_notice_subsetPage_hlj’).insert({json格式的数据 })

    db.getCollection('zyzs_notice_subsetPage_hlj').insert({
        "_id": ObjectId("5975bc2258db1412e12611de"),
	    "id": 1,
	    "isDelete": "0"
     })
db.表名.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

根据某个字段进行数据查询

db.getCollection('表名').find({"key":"value"})

mongo在java中的应用

  • 保存数据
   private final static String connectionName="zyzs_terminal_sign";
    /**
     * 保存入库
     * @param terminalSign
     * @throws Exception
     */
    public void saveinfo(TerminalSign terminalSign) throws Exception{
    	MongoDBDao mongo = new MongoDBDaoImpl();
		mongo.setMongoPools(MongoPools.getInstance(connectionName));
	    mongo.inSert(terminalSign);
    }

     public boolean inSert(Object Sources) {
    if (Sources == null)
    {
      return false;
    }
    MongoDatabase db = null;
    MongoCollection dbCollection = null;
    db = this.MongoPools.getMongo().getDatabase(this.MongoPools.getMongoConfigure().getDBName());
    dbCollection = db.getCollection(this.MongoPools.getMongoConfigure().getCollectionName());
    if ((Sources instanceof List))
    {
      List list = new ArrayList();
      for (Iterator localIterator = ((List)Sources).iterator(); localIterator.hasNext(); ) { Object ject = localIterator.next();

        Gson gson = new Gson();
        String json = gson.toJson(ject);
        Document doc = Document.parse(json);
        list.add(doc);
      }
      dbCollection.insertMany(list);
    }
    else {
      Gson gson = new Gson();
      String json = gson.toJson(Sources);
      Document doc = Document.parse(json);
      dbCollection.insertOne(doc);
    }

    return true;
  }

我们在插入数据的时候,也是以json字符串的根式进行插入的。dbCollection.insert(一个json格式的文档)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值