gpt4 book ai didi

mongodb - 保存 Mongoose 对象的 Grunt 任务

转载 作者:可可西里 更新时间:2023-11-01 10:44:21 25 4
gpt4 key购买 nike

我正在尝试编写一个简单的 grunt 任务来将对象保存到 mongoose 集合中。我在使用保存命令时遇到问题。它不会打印出任何错误或保存消息。我不确定为什么。我已经通过 mongo shell 检查了集合,但它没有保存。

var db = require('./db/schema');

module.exports = function(grunt) {

grunt.registerTask('adduser', 'add a user to the database', function(usr) {
var user = new db.userModel({ username: usr});

console.log(user);
user.save(function(err) {
if(err) {
console.log('error: ' + err);
} else {
console.log('saved user: ' + user.username);
}
});
});

};

输出

$ grunt adduser:bob
Running "adduser:bob" (adduser) task
{ username: 'bob' }

Done, without errors.

输出应显示“错误:错误消息”或“保存的用户:bob”。但是由于某种原因,这段代码没有被执行。

最佳答案

user.save 调用是异步的,因此您需要将 Grunt 任务置于异步模式,如图所示 here .

应该是这样的:

grunt.registerTask('adduser', 'add a user to the database', function(usr) {
var user = new db.userModel({ username: usr});

// Invoke async mode
var done = this.async();

console.log(user);
user.save(function(err) {
if(err) {
console.log('error: ' + err);
} else {
console.log('saved user: ' + user.username);
}

// Signal to Grunt that the async task is complete.
done();
});
});

关于mongodb - 保存 Mongoose 对象的 Grunt 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com