当前位置: 首页 > 后端技术 > Java

MongoDB学习基本操作

时间:2023-04-01 23:07:49 Java

数据库基本操作选择数据库使用+数据库名使用mock创建数据库使用+待创建数据库名->然后插入一条数据===>showdbs查看新数据库删除数据库先使用use+dbName切换到要删除的数据库->然后输入如下命令db.dropDatabase()集合的基本操作Insert操作格式Insertonedb..insertOne()Insertmultipledb..insertMany([,,])查看哪些集合显示表或显示集合创建一个集合1.直接使用db..insert2.创建一个空集合db.createCollection("")创建集合时,还可以指定一些参数FieldtypedescriptioncappedBoolean(optional)如果为true,则将此集合设置为固定集合,需要指定这个集合的最大值,当插入数据会超过这个集合的值时,新的数据会覆盖最旧的数据,数据无法修改。size值集合的最大值(可选),capped为true时设置。最大值(可选)集合中的最大数据数。假设我把这个collection的max设置为3db..insertMany(,,,)上面的语句执行完后,使用db..find()查询这个set的所有数据会是:,,删除set1.选择set所在的数据库2.删除setdb..drop()替换集合中的一条数据db..replaceOne(,)db.collection.replaceOne({"name":"Xiaoming"},{"name":"Xiaoming","sex":"female"})--用更新操作替换一条名为小明的数据db..update(,,{upsert:,multi:,writeConcern:})query:类似于sql中的where条件,属于filterdataupdate:类似于sql中的set,属于待更新数据upsert:(optional)如果数据不存在,则做插入操作,默认为false不操作multi:(可选)是否更新多条数据。默认为假。当多条数据满足查询条件时,只更新第一条。writeConcern:(可选)抛出异常的级别。db.china.update({"name":"袁勇"},{$set:{"province":"北京"}},{"upsert":true});#另外,mongodb还细分了db..updateOne()和db..updateMany()删除操作db.collection.remove(,{justOne:,writeConcern:})query:过滤条件justOne:如果为true或者默认只删除过滤掉的第一项,为false。RDBMS操作格式中的类似语句等于{:},{$eq:[A,B]}where='新手教程'whereA=Bislessthan{:{$lt:}}where<50is小于或等于{:{$lte:}}其中<=50大于{:{$gt:}}其中>50大于或等于{:{$gte:}}其中>=50是不等于{:{$ne:}}where!=50ORconditiondb..find({$or:[{key1:value1},{key2:value2}]})db.usa.find({$or:[{age:{$gt:26}},{name:"mike"}]})ANDconditiondb..find({key1:value1,key2:value2})在db中是等效的。.find({$and:[{key1:value1},{key2:value2}]})db.usa.find({age:{$gt:10},age:{$lt:25}})相当于db.usa.find({$and:[{age:{$gt:10}},{age:{$lt:25}}]})与db.usa.find({$or:[{age:{$gt:10},age:{$lt:25}},{name:"wade"}]})上面的条件过滤器也可以用来修改删除类型判断使用类型过滤在条件操作中。例如:查询年龄为stringtypedb..find({age:{$type:"string"}})限制查询期间找到的项目数db..find().limit()Skipthenumberofrows跳过行数db..find().skip()一般配合db..find()使用限制。limit(m).skip(n)相当于sql中的limitn,m排序相当于sql中的orderby按照age字段的升序相当于sql中的orderbyageascdb..find().sort({age:1})按照age字段降序排列,相当于orderbyagedescdb..find().sort({age:-1})在SQL中