我曾经git checkout -b创建一个新的分支.我认为这git branch也是一样的.如果两个命令完全不同,这两个命令有何不同?
由于MongoDB数据库访问和初始化在Node.js上是异步的,我想在db初始化之后为每个集合定义一个导出包装db调用的模块.
这样的"Cars.model.js"模块看起来像这样:
var db = require("mongodb");
db.collection("cars", function(err, col) {
exports.getCars = function(callback) {
col.find({}, callback);
};
});
Run Code Online (Sandbox Code Playgroud)
以便其他模块可以运行:
var carModel = require("Cars.model.js").getCars;
getCars(err, cars) {
// (do something with cars here...)
};
Run Code Online (Sandbox Code Playgroud)
它发生在我身上getCars是未定义的,因为我的第二个模块运行时数据库访问尚未初始化.
你如何处理创建这种异步数据库模型?
model-view-controller design-patterns asynchronous mongodb node.js
在尝试使用 node.js 对象(数组、映射...)进行一些数据索引时,每次启动脚本时都需要一些时间来填充(从数据库数据),我希望我的 node.js 对象可以自动透明地持久化在我的数据库中。
使用 node.js 中的 MongoDB 以及其他数据库(包括基于 SQL 的)已经有一段时间了,我很清楚 javascript 对象(同步访问,无查询)和数据库记录之间的查询/更新机制非常不同(异步访问,查询,...)。但是,我仍然希望使 javascript var persisted的解决方案,至少对于索引而言,可以存在并有所帮助。
基本上,我在考虑类似 HTML5 的 LocalStorage 之类的东西,但用于 node.js 服务器。
你认为这个想法有趣、可行,或者它已经存在?
编辑:正在进行中:https : //github.com/adrienjoly/persistent-harmony
我花了太多时间试图弄清楚为什么我的express.js控制器没有响应一个简单的查询,并发现从Mongoose-promise回调中发出的运行时错误正在默默地中断回调过程.
这是我的代码的简化版本:
server.get('/api/test', function (req, res, next) {
User.find({}).exec().then(function success(users){
console.log('SUCCESS');
typo[0] = 1; // throws a runtime error
res.json(users);
}, function error(err){
console.log('ERROR');
res.json({error: err});
});
});
Run Code Online (Sandbox Code Playgroud)
这导致SUCCESS我的控制台出现,但没有任何反应.没有给用户响应,由我的拼写错误引起的错误没有出现在我的控制台中,也没有调用错误回调.
我知道不应该从回调函数中抛出异常,但在这种情况下,这只是一个错字,每当有人做这种事情时我会被警告(例如我的标准输出中的堆栈跟踪)是有意义的错误.(毕竟我们是人类......)
在您看来,在承诺回调中出现这种错误时,获得反馈的最佳方法是什么?
Soundcloud的oEmbed端点适用于大多数链接(例如affee),但使用以下(有效)URL返回403状态:knifepartyinc
第二个URL有什么问题?
node.js ×3
asynchronous ×1
database ×1
express ×1
git ×1
git-branch ×1
git-checkout ×1
javascript ×1
mongodb ×1
mongoose ×1
oembed ×1
persistence ×1
promise ×1
soundcloud ×1