在mongo中插入新的字段,并设置默认值:

db.readingcpmonit.update({},{$set:{"entityType":1}},false,true)

第四个参数为设置更新多条数据。

在mongodataDao中进行直接操作:

 public List<RefreshCacheLog> getRefreshCacheLogs(String indexName, String []hosts) {
        Criteria IPconditons=new Criteria();
        List<Criteria>lst=new ArrayList<Criteria>();
        for(String host:hosts)
        {
            lst.add(where("IP").is(host));
        }
        Criteria []criterias=lst.toArray(new  Criteria[lst.size()]);
        IPconditons.orOperator(criterias);
        Criteria indexNameCondition =   where("indexName").is(indexName);

        Query query = new Query().addCriteria(indexNameCondition).addCriteria(IPconditons);
        return findQueryResult(query);
    }


创建唯一索引
db.cartoonchapter.ensureIndex({"id": 1}, {unique: true})

创建索引,并指定名称

 db.user.ensureIndex({"name":1},{"name":"IX_name"})
聚合查出条数大于1的数据,对应group having count

创建唯一索引
db.cartoonchapter.ensureIndex({id: 1}, {unique: true})
聚合查出条数大于1的数据
db.col.aggregate( [
   { $group: { _id: { userId: "$userId", name: "$name" },
               count: { $sum: 1 } } },
   { $match: { count: { $gt: 1 } } },
   { $project: { _id: 0, 
                 userId: "$_id.userId", 
                 name: "$_id.name", 
                 count: 1}}
] )
使用id
db.cartoonchapter.aggregate( [
   { $group: { _id: { id: "$id" },
               count: { $sum: 1 } } },
   { $match: { count: { $gt: 1 } } },
   { $project: { _id: 0, 
                 id: "$_id.id", 
              
                 count: 1}}
] )
使用_id删除
db.cartoonchapter.remove( {"_id": ObjectId("57bff8e2e4b06b4b81e49c91")});
db.col.aggregate( [
   { $group: { _id: { userId: "$userId", name: "$name" },
               count: { $sum: 1 } } },
   { $match: { count: { $gt: 1 } } },
   { $project: { _id: 0, 
                 userId: "$_id.userId", 
                 name: "$_id.name", 
                 count: 1}}
] )
使用id
db.cartoonchapter.aggregate( [
   { $group: { _id: { id: "$id" },
               count: { $sum: 1 } } },
   { $match: { count: { $gt: 1 } } },
   { $project: { _id: 0, 
                 id: "$_id.id", 
              
                 count: 1}}
] )
使用_id删除
db.cartoonchapter.remove( {"_id": ObjectId("57bff8e2e4b06b4b81e49c91")});

按照条件进行删除


1、 精确查询

获取最大值

db.audit_document.findOne({$query:{},$orderby:{_id:-1}})

 db.bgtemplate.remove(  {"id":{"$lt":51}} )

多条件进行查询:

db.audit_document_history.find({"_id":{"$gte":0,"$lte":1000000},"source":1}).count()
db.audit_document_history.find({"_id":{"$gte":0,"$lte":1000000},$or:[{"source":2},{"source":4},{"source":5},{"source":6},{"source":7},{"source":10},{"source":12},{"source":18}]}).count()

mongo批量数据更新

重置特定的数据为特定值:

db.leitestindex.update({},{$set:{"versonControl":-1}},{multi:true})

将mongo中的某个字段全部清空

db.leitestindex.update({},{$unset:{versionControl:-1}},false,true)


db.course.find( { "lectures.lectures_count": { $exists: true } } )
查询course表中,存在lectures_count字段的记录信息

1)右键点击集合名,再左键点击Find

 

或者直接点击工具栏上的Find

 

2)查询界面,包括四个区域

 

{Find}区,查询条件格式{"sendId":"000101"}表示查询sendId=000101的记录,

(注:mongodb区分大小写,写成{"sendid":"000101"}会查询不到)

查询条件包含and时,格式为:{"sendId":"000101","operParam5":"vfre"}

查询条件包含or时,格式为{$or:[{"sendId":"000101"},{"sendId":"1234567890"}]}

 

{Fields}区,表示查询的字段值,不填默认显示所有字段。Fields区的格式与Find区类似,如:{"id":"","sendId":"","appId":""}

 

{sort}区,{"id":1}表示按照id升序排序,{"id":-1}表示按照id降序排序

 

SkipLimit联合起来使用,相当于查询MySQL中的limit语句

(注:SkipLimit的值不能为空,否则会报错)

 

2、模糊查询

 

查询条件中包含like时,格式为:{"operParam5":new RegExp(".*set.*")}

这里使用到简单的正则表达式:.*表示任意多个字符,相当于like中的%

如果查询operParam5 like ‘%set%’,则写成{"operParam5":new RegExp(".*set.*")}

如果查询operParam5 like ‘%set’,则写成{"operParam5":new RegExp(".*set")}

如果查询operParam5 like ‘set%’,则写成{"operParam5":new RegExp("set.*")}

 

二、 新增

 

1)右键点击集合名,再左键点击Insert Document

 

2)在弹出的输入框中,填入要插入记录的Bson格式数据

 

3)点击Insert,插入成功

三、 编辑

1) 点击菜单栏的Update按钮

 

2) 在左侧输入查询条件,右侧输入要更新的字段名称和字段值

如下示例实现将id= aaaa84e71ffb470ca8c80d309c4bc835的记录的sendId字段值,修改为000001

 

3)之后,点击updateAll更新所有记录。

 

四、 删除

 

3) 点击菜单栏的Remove按钮

4) 输入要删除的记录的查询条件,

如下示例删除id=aaa684e71ffb470ca8c80d309c4bc835的记录

3)点击Remove按钮,弹出确认提示框,点击Remove即可

 

db.es_route_property.update({"_id":89},{$set:{"end":9223372036854775807}}, { upsert: true })

db.es_route_property.remove({"_id":{$gt:89}})



Logo

前往低代码交流专区

更多推荐