我question在数据库中有300个对象的大集合test.我可以通过MongoDB的交互式shell轻松地与这个集合进行交互; 但是,当我尝试通过Mongoose在express.js应用程序中获取集合时,我得到一个空数组.
我的问题是,如何访问这个已经存在的数据集而不是在Express中重新创建它?这是一些代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test');
mongoose.model('question', new Schema({ url: String, text: String, id: Number }));
var questions = mongoose.model('question');
questions.find({}, function(err, data) { console.log(err, data, data.length); });
Run Code Online (Sandbox Code Playgroud)
这输出:
null [] 0
Run Code Online (Sandbox Code Playgroud) 我有一个非常直截了当的问题.我用NodeJS做了一个网页游戏,我可以自己成功地玩多个浏览器窗口并排打开它; 但是,我想知道其他本地机器是否可以与我一起访问和玩游戏.
我天真地尝试使用这个网址:my-ip-address:8000它将无法正常工作.
所以我试图使用以下jQuery代码向Stack Exchange API发出请求:
$.ajax({
type: 'POST',
url: 'http://api.stackoverflow.com/1.1/stats',
dataType: 'jsonp',
success: function() { console.log('Success!'); },
error: function() { console.log('Uh Oh!'); }
});
Run Code Online (Sandbox Code Playgroud)
但是当我在我的机器上打开文件,在FireFox或Chrome中,并发出请求时,我收到此错误:
Resource interpreted as Script but transferred with MIME type application/json.
Uncaught SyntaxError: Unexpected token :
Uh Oh!
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么事.我知道Stack Exchange API Gzips它的响应,这会导致任何麻烦吗?
我想知道如何将node-webkit应用程序打包为Windows 8商店的.appx?我已经能够创建我的应用程序的.exe,只要它与.dll的目录在同一个目录中.
这是我的目录当前的样子:
application/
MyApplication.exe
ffmpegsumo.dll
icudt.dll
libEGL.dll
libGLESv2.dll
nw.pak
Run Code Online (Sandbox Code Playgroud)
我不熟悉Windows开发,因为我主要使用OSX,所以我不知道接下来要把这个.exe打包为.appx的步骤.任何帮助表示赞赏.
我正在创建一个Chrome扩展程序,其中包含一个background.html每分钟从API请求一次信息的文件.一旦它收到信息,它就会发送popup.html一条消息,其中包含弹出窗口用于将新HTML元素附加到弹出框体上的JSON信息.
问题是后台持续运行(应该如此),但即使弹出窗口关闭,它也会弹出.这导致弹出窗口每分钟打开一次非常烦人.
我想知道,有没有办法看看popup是否关闭,如果是这样的话,什么都不做?或者还有另一种方法可以防止弹出窗口自行打开?
这是Github存储库,但重要的部分在下面突出显示.
这是我在弹出窗口的方式:
// background.js
function sendQuestions()
{
var questions = JSON.parse(db.getItem(storage));
chrome.extension.sendRequest(appid, { 'questions': questions }, function() {});
}
setInterval(sendQuestions, 60e3);
Run Code Online (Sandbox Code Playgroud)
这是弹出窗口处理它的方式:
// popup.js
chrome.extension.onRequest.addListener(function(request) {
if (request.questions) {
displayQuestions(request.questions);
}
});
function displayQuestions(questions)
{
for (i = 0; i < questions.length; i++) {
var question = questions[i];
var htmlBlock = // ... generate a block of html ...
$('#container').prepend(htmlBlock);
}
}
Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用consolidate.js来使用express 渲染swig模板,但是当我尝试从另一个模板中"扩展"一个模板时,我收到以下错误:
Error: ENOENT, no such file or directory '//one.html
Run Code Online (Sandbox Code Playgroud)
在我的app.js文件中,我将swig设置为我的渲染引擎(仅包含相关代码):
var consolidate = require('consolidate');
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.engine('.html', consolidate.swig);
app.get('/test', function(req, res) {
res.render('two');
});
Run Code Online (Sandbox Code Playgroud)
我有一个基本模板,one.html:
<h3>My Site</h3>
{% block content %}
Welcome
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
然后是一个继承模板,two.html:
{% extends 'one.html' %}
{% block content %}
This is an inner page.
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
那么为什么swig会寻找one.html一条路径//one.html(如上面的错误?)感谢您的帮助.
javascript ×4
node.js ×4
express ×2
jquery ×2
ajax ×1
mongodb ×1
mongoose ×1
networking ×1
node-webkit ×1
windows ×1
windows-8 ×1