数据库一些操作

var conn = new Mongo("localhost:27017");
var db = conn.getDB("f26");//连接或创建数据库
// print(db.getName());

// db.dropDatabase();//删除数据库

db.createCollection("students");//创建一个集合
var students = db.getCollection("students");//获取集合
// print(students);

// students.drop();//删除集合

// students.insert({//新增文档
// name: "xiaozhangxueyou",
// age: 25
// });

//students.remove({});//删除所有文档

// var cursor = students.find();//查看该集合所有文档,cursor是游标(理解为数组的引用)
// cursor.forEach(function(obj) {
// printjson(obj);
// });

// students.update({name: "wangwu"}, {$inc: {age: 1}}, false, true);

// var cursor = students.find({name: "zhangsan"}, {name: true, age: true});//查看该集合所有文档,cursor是游标(理解为数组的引用)
// cursor.toArray().forEach(function(obj) {
// printjson(obj);
// });

// var count = students.count();
// print(count);
//students集合,先find找出所有集合,再好排序,最后返回给cursor
// var cursor = students.find({name: {$regex: /^[a-z]{0,}zhang[a-z]{0,}$/}}).sort({age: -1});
// cursor.forEach(function(obj) {
// printjson(obj);
// });

// students.find().limit(3).forEach(function(obj) {
// printjson(obj);
// });

// students.find().skip(3).limit(3).forEach(function(obj) {
// printjson(obj);
// });

// students.find().forEach(function(stu) {
// printjson(stu);
// });

// var cursor = students.distinct("name");
// cursor.forEach(function(obj) {
// print(obj);
// });

// students.insert({//新增文档
// name: "xiaozhangxueyou",
// age: 25,
// className: "f26"
// });
// students.insert({//新增文档
// name: "zhangxueyou",
// age: 60,
// className: "f26"
// });
// students.insert({//新增文档
// name: "liudehua",
// age: 50,
// className: "f25"
// });
// students.insert({//新增文档
// name: "chenguanxi",
// age: 35,
// className: "f25"
// });
// students.insert({//新增文档
// name: "kezhendong",
// age: 23,
// className: "f26"
// });

// var cursor = students.group({
// key: {className: 1},
// initial: {amount: 0, avg: 0, totalAge: 0},//我要查询的对象属性
// reduce: function(obj, prev) {//prev是initial
// ++prev.amount;
// prev.totalAge += obj.age;
// },
// finalize: function(prev) {//最后一次reduce运行完毕,就会运行一次finalize
// prev.avg = prev.totalAge / prev.amount;
// }
// });

// cursor.forEach(function(obj) {
// printjson(obj);
// });

// students.insert({
// name: "lisi",
// age: 8
// });
// students.insert({
// name: "lisi",
// age: 28
// });
// students.insert({
// name: "zhangsan",
// age: 1
// });
// students.insert({
// name: "zhangsan",
// age: 28
// });

// students.find({
// $or:[
// {$and:[{name: "zhangsan"}, {age: {$lte: 5}}]},
// {$and:[{name: "lisi"}, {age: {$gte: 10}}]}
// ]
// }).forEach(function(obj) {
// printjson(obj);
// });

/*
maxAge: {$max: "$age"}中:
- maxAge是查询出来的对象的属性
- $max表示取最大值
- "$age"在$符号后边指定属性名称
*/
var cursor = students.aggregate([
{$match: {name: {$regex: /^.*$/}}},//aggregate查询
{$group: {_id: "$className", maxAge: {$max: "$age"}}}
]);
cursor.forEach(function(obj) {
printjson(obj);
});

转载于:https://www.cnblogs.com/huangmingkedeboke/p/5568216.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值