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"}}}