MongoDb文档型数据库

MongDB文档型数据库

1.吐槽和评论数据特点:

特点:

  1. 数据量大
  2. 写入频繁
  3. 价值较低
    这样的数据更适合用MongoDb来存储

2.使用MongoDB命令行进行相关的增删改查操作



use spit
db.spit.insert({content:"听说1024社区很给力",userid:"1011",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.find()

db.spit.insert({_id:"1",content:"听说1024社区很good",userid:"1011",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.insert({_id:"1",content:"听说1024社区很excellent",userid:"1011",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.insert({_id:"1",content:"听说1024社区很wonderful",userid:"1011",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.insert({_id:"2",content:"听说1024社区很great",userid:"1011",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.find()
//可以根据条件进行查询,和限制查询的数量柘城
db.spit.find({"userid":"1013"})
db.spit.find().limit(4)

//这两个更新的区别
db.spit.update({"_id":"1"},{"visits":NumberInt(1000)})
db.spit.update({"_id":"2"},{$set:{"visits":NumberInt(1000)}})
db.spit.find()
db.spit.remove({"_id":"1"})
db.spit.find()
db.spit.count()
db.spit.count({"userid":"1011"})
//正则表达式 ^以...开头查$以...结尾进行查询 查询流量开头的数据信息
db.spit.find({"content":/^流量/})
//查询以great结尾的数据
db.spit.find({"content":/$great/})


db.spit.insert({_id:"7",content:"流量没有了",userid:"1013",nickname:"smallCuteMonkey",visits:NumberInt(902)})
db.spit.insert({_id:"6",content:"很great",userid:"1012",nickname:"smallCuteMonkey",visits:NumberInt(2000)})

//>  <  >=  <=
db.spit.find({"visits":{$gt:1000}})

//区间查询  in nin
db.spit.find({"userid":{$in:["1013","1012"]}})
db.spit.find({"userid":{$nin:["1013","1012"]}})

//多个条件查询
db.spit.find({$and:[{"visits":{$gt:1000}},{"visits":{$lte:2000}}]})
db.spit.find({$and:[{"userid":"1013"},{"visits":{$lt:2000}}]})
//让id为2的增加5
db.spit.update({"_id":"2"},{$inc:{"visits":NumberInt(1)}})
db.spit.find()



use comment
show collections
db.comment.drop()

//进行插入的时候自动创建数据库
db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
show collections
//查询title为string类型的type
db.col.find({"title":{$type:"string"}})
//排序根据likes的 1 升序 -1 倒序 排序
db.col.find().sort({"likes":1})
db.col.find().sort({"likes":-1})

db.spit.find()


3.用java操作MongoDB进行相关的增删改查和特殊条件查询

使用Document(相当于一条数据)插入对象:

import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

public class MongoDBInsert {
    public static void main(String[] args) {
//        1.获取连接
        MongoClient mongoClient=new MongoClient("127.0.0.1");

//        获取指定数据库
        MongoDatabase spitdb = mongoClient.getDatabase("spit");

//       3.获取指定Collection 其实就是表连接对象
        MongoCollection<Document> spit = spitdb.getCollection("spit");

        Document document = new Document();
        document.put("content","i am so brave,and handsomebody");
        document.put("visits",10000);
        document.put("nickname","smallCuteMonkey");
        document.put("userid","10086");
        spit.insertOne(document);


//        关闭连接
        mongoClient.close();


    }
}


使用BasicDBObject进行数据的相关的查询:


import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.sun.javafx.scene.layout.region.BackgroundSizeConverter;
import jdk.nashorn.internal.ir.CallNode;
import org.bson.Document;

public class TestMongoDB {
    public static void main(String[] args) {
//        1.获取连接
        MongoClient mongoClient=new MongoClient("127.0.0.1");

//        获取指定数据库
        MongoDatabase spitdb = mongoClient.getDatabase("spit");

//       3.获取指定Collection 其实就是表连接对象
        MongoCollection<Document> spit = spitdb.getCollection("spit");
//       5. 构建相关的查询条件  BasicDBObject
//        BasicDBObject bson=new BasicDBObject("userid","1013");
        /*

         查询测量大于1000的单个条件
        BasicDBObject bson=new BasicDBObject("visits",new BasicDBObject("$gt",1000));
         */


//        查询两个条件的

          BasicDBObject bson1=new BasicDBObject("visits",new BasicDBObject("$gt",900));
        BasicDBObject bson2 = new BasicDBObject("visits", new BasicDBObject("$lt", 1000));
        BasicDBObject[] bson=new BasicDBObject[2];
        bson[0]=bson1;
        bson[1]=bson2;
        BasicDBObject andBson = new BasicDBObject("$and", bson);

//        4.执行相关的操作
//        一个document就相当于一条数据
        FindIterable<Document> documents = spit.find(andBson);

        for (Document docuemnt :
                documents) {
            System.out.println("获取内容"+docuemnt.getString("content"));
            System.out.println("获取userid"+docuemnt.getString("userid"));
            System.out.println("获取昵称"+docuemnt.getString("nickname"));
            System.out.println("获取访问量"+docuemnt.getInteger("visits"));
            System.out.println("--------------------");

        }



//        关闭连接
        mongoClient.close();


    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有时间指导毕业设计

觉得写的好的话可以给我打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值