添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

例如文档中有name,age字段,只需要返回name字段

db.collectionName.find({},{name:1,age:0})
  • 1 或者 true 代表包含该field。find()方法总是包括_id字段,即便这里没有指定要_id字段。
  • 0或者false 代表不不包含该field。

在SpringBoot+MongoDB 中代码为:

Query query = new Query();
query.fields().include("name");//包含该字段
query.fields().exclude("_id");//不包含该字段
mongoTemplate.find(query,entityClass,collectionName);
                                    映射(projection )声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一个projection中联合使用包含和排除语意。返回匹配文档的所有字段:如果没有指定projection,find()方法返回所有匹配文档的所有字段。 代码如下:db.inventory.find( { type: 
                                    字段是什么类型,那么查询字段值的类型就应该是什么类型,比如如果字段类型是 NumberLog,那么查询时就应该执行查询类型为 NumberLog,如db.userInfo.find({id: NumberLog(10)}){ “_id” : ObjectId(“5cf7b4839ad87fde6fd23a03”), “title” : “MongoDB 介绍” }{ “title” : “MongoDB 介绍” }{ “title” : “MongoDB 概述” }假设集合qikegu有以下数据。
query.fields().include("_id"); //包含该字段
query.fields().include("openid"); //包含该字段
query.fields().exclude("salary");//不包含该字段
                                    最近项目中用到Mongodb,遇到问题在网上查找发现很多都写的很模糊,本文用来记录我已使用过的Mongodb实例,后续有新的实例会补充进来。
首先说明,我使用 spring-data 的 MongoTemplate 来操作 Mongodb 的,操作很简单,就是将MongoTemplate注入到项目中,使用里面的API操作就行了,这个不用多说,真正麻烦的是如何拼接Query这个条件。
Query:用来封装所有条件对象
Criteria:用来构建条件
查看了Criteria的API源码,这个对象有下
    public void test() {
        Query query = Query.query(Criteria.where("userId").is(1L));
        List<Publish> publishes = mongoTemplate.find(query, Publish.class);
        List<Long> collect = publishes.stream().map(Publis...
dbObject.put("devId", devId);
BasicDBObject fieldObject = new BasicDBObject();
//不需要查询字段
fieldObject.put("version", false);
//需要的字段
fieldObject.put("ph...
                                    In MongoDB, using $type, it is possible to filter a search based on if the field matches a BSON data type (see DOCS).For eg.db.posts.find({date2: {$type: 9}}, {date2: 1})which returns:{"_id" : ObjectI...
查询指定字段及多条件
// An highlighted block
  			query.addCriteria(Criteria.where("ASSETSTYPE").is(code).and("XZQY").is(areaId));
            query.fields().include("SBBM");
            query.fields().include("SBMC");
            //取数据模拟 sbbm sbmc