node使用Mongoose类库实现简单的增删改查

2020-06-17 06:38:48易采站长站整理

strict:(布尔)覆盖strict此更新的选项
overwrite: (布尔)禁用只更新模式,允许您覆盖文档(false)
callback: 回调函数

如下代码执行更新:


var User = require('./user.js');

// 更新数据

function update() {
// 更新数据的条件查询
var wherestr = {'username': 'kongzhi0707'};

// 执行更新数据
var updatestr = {'password': 'abcdef'};

User.update(wherestr, updatestr, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res);
}
});
}
// 调用更新函数
update();

运行app.js 后,如下图所示:

继续查看数据库,可以看到password字段被更新了,如下图所示:

3.3 findByIdAndUpdate(id, [update], [options], [callback]);

根据id进行更新;此id就是数据库中自动生成的id;如下代码,


var User = require('./user.js');

// 更新数据

function update() {
// 更新数据的条件查询
var id = '5b3a4941ca11752732fee772';

// 执行更新数据
var updatestr = {'password': 'vvvvv'};

User.findByIdAndUpdate(id, updatestr, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res);
}
});
}
// 调用更新函数
update();

如下图数据库显示如下:

3.4 删除 Model.remove(conditions, [callback])

代码如下:


var User = require('./user.js');

function del() {
// 删除数据的条件
var wherestr = {'username': 'kongzhi0707'};

User.remove(wherestr, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res);
}
});
}
// 调用函数
del();

到数据库中查看数据,可以看到没有这条数据了;

3.5 条件查询 Model.find(conditions, [fields], [options], [callback]);

如下代码所示:


var User = require('./user.js');
function find() {
// 删除数据的条件
var wherestr = {'userName': '龙恩0707'};

User.find(wherestr, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res);
}
});
}
// 调用函数
find();

执行后,如下所示:

3.6 数量查询 Model.count(conditions, [callback])


var User = require('./user.js');