mongodb过滤字段
Ⅰ 用mongodb查询的时候,如何只查询出某一个字段的值
将相同字段抄的值加在一起需要用袭sum函数。
如emp表中有如下数据:
现要按deptno为分组,将sal的值加在一起,可用如下语句:
selectdeptno,sum(sal)salfromempgroupbydeptno;
Ⅱ 如何用mongodb获取某个字段集合
不管通过何种方抄式,数据库给你的结果只会是:
[{name: 'bob'},
{name: 'ahn'},
{name: 'abc'}]
如果是在shell下面,可以用JS脚本进行转换:
var cursor = db.coll.find({}, {_id: 0, name: 1});var result = cursor.map(function(doc) { return doc.name;
});
这里用到cursor.map方法。在不同的驱动中应该都有不同的实现。但这部分工作实际上不是数据库为你完成的,而是驱动在app端做的转换。数据库是紧要资源,在不影响性能的前提下应该尽可能把消耗资源的行为都放到应用端。因为相比数据库,应用的水平扩展要容易并且成本更低。
Ⅲ mongodb 可以对Mixed类型的字段进行过滤吗
var start = new Date(2010, 3, 1);
var end = new Date(2010, 4, 1);
db.posts.find({created_on: {$gte: start, $lt: end}});
(代码内日期可自行设置内修改)容
Ⅳ mongodb 一个文档内数组中同一个字段 同时大于或小于一个值,如何写查询条件
mongodb中使用aggregate可以返回数组字段数组的指定索引的元素
参考语句:
{$match:{'id':15}},
{$project:{id:1,"default":1}},
{$unwind:"$default.styles"},
{$match:{'default.styles.status':1}},
{$group:{_id:"$_id","defaults":{$push:"$default.styles"}}}
解释:
1:过滤数据{$match:{'id':15}}
2:获取想要的列{$project:{id:1,"default":1}}
3:获取展开后数组字段{$unwind:"$default.styles"}
4:条件查询数组元素{$match:{'default.styles.status':1}}
5:分组后保存结果{$group:{_id:"$_id","defaults":{$push:"$default.styles"}}}
数据结构如下:
{
"_id" : ObjectId("55dad346ea23e7c11beefce5"),
"id" : 11.0,
"default" : {
"style" : "普通会诊",
"alias" : "",
"money" : "0",
"styles" : [{
"code" : 1,
"style" : "普通会诊",
"alias" : "一般会诊",
"money" : 100,
"status" : 1,
"remark" : "需要患者亲自来到医院"
} {
"code" : 6,
"style" : "夜间门诊",
"alias" : "夜间门诊",
"money" : 100,
"status" : 0,
"remark" : "夜间门诊"
}, {
"code" : 7,
"style" : "其他门诊",
"alias" : "其他门诊",
"money" : 10,
"status" : 0,
"remark" : "其他门诊"
}]
}
}
Ⅳ java如何实现mongodb中查询指定字段
MongoClient mongoClient=new MongoClient("localhost",27017);//连接数据库
MongoDatabase database=mongoClient.getDatabase("db");//获取数据库
MongoCollection<Document> collection=database.getCollection("集合");//获取集合
System.out.println("请输入需要查询的字段:");
Scanner scanner=new Scanner(System.in);
String j=scanner.next();
FindIterable<Document> docs= collection.find(Filters.eq("字段",j);//查询结果
(这里还有另外一回种写法,可以答供兄弟参考。
FindIterable f = users.find();
MongoCursor cur = f.iterator();
)
Ⅵ mongodb怎么删除多个字段
用Studio 3T 打开Mongo选中文件,然后删除该字段
Ⅶ mongodb怎么删除字段中的值
db.yourdb.update(
{type:"yourtype"},
{
$set:{category:void0}
}
)
直接更来新一自下不就行了,mongodb会自己回收的
Ⅷ mongodb数据库如何查询某个字段的最大值
1、select distinct(类型 ),(select max(单价) from table where 类型 =c.类型 ) from table c。
2、举例:
person: {
// ...
name: 'A'
did: 'buy a dog'};
person: {
// ...
name: 'B'}。
3、相关用法
1)#进入数据库回admin
use admin
2)#增加答或修改用户密码(3.0版本用creatuser)
db.addUser('name','pwd')
3)#查看用户列表
db.system.users.find()
4) #用户认证
db.auth('name','pwd')
5)#删除用户
db.removeUser('name')
6) #查看所有用户
show users
7)#查看所有数据库
show dbs
8)#查看所有的collection
show collections
9)#查看各collection的状态
db.printCollectionStats()
10)#查看主从复制状态
db.printReplicationInfo()
Ⅸ mongodb如何获取表结构,以及表字段的名称
将相同字段的值加在一起需要用sum函数。
如emp表中有如下数据:
现要按deptno为分组,将sal的值加在一内起,可用如下语句:容
select?deptno,sum(sal)?sal?from?emp?group?by?deptno;
查询结果:
Ⅹ java mongoDB怎么返回数组字段数组的指定索引的元素
mongodb中使用aggregate可以返来回数组字段数自组的指定索引的元素
参考语句:
{$match:{'id':15}},
{$project:{id:1,"default":1}},
{$unwind:"$default.styles"},
{$match:{'default.styles.status':1}},
{$group:{_id:"$_id","defaults":{$push:"$default.styles"}}}
解释:
1:过滤数据{$match:{'id':15}}
2:获取想要的列{$project:{id:1,"default":1}}
3:获取展开后数组字段{$unwind:"$default.styles"}
4:条件查询数组元素{$match:{'default.styles.status':1}}
5:分组后保存结果{$group:{_id:"$_id","defaults":{$push:"$default.styles"}}}