如何在sailjs中创build一个新的模型实例?

我想从模型中创build一个未持久的新实例,填充一些属性并将其作为来自控制器操作的JSON响应发回。 在rails ,使用Model.new获取模型的新实例非常简单,但是如何使用Model.new或sails.js ? 如果您熟悉rails, Model.new ->创build一个模型的新实例。 我怎么能在Sails.JS中做到这一点? Model.create ->创build(已经)持久的模型的新实例。 我已经检查过这个文件,但是我找不到任何有关这方面的信息。

Mongo DB和Node.js连接错误

我对服务器端来说是非常新的。 我刚开始使用node.js和mongodb。 示例代码: var http = require('http'); var mongoose = require('mongoose'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'application/json; charset=utf-8'}); mongoose.connect('mongodb://localhost/bookmarks'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback () { // console.log('Running'); var Users = mongoose.model('users', { name: String, lastname: String, yas: Number, yer:String }); Users.find().lean().exec(function(err,users) { // console.log(JSON.stringify(users)); var sonuc=JSON.stringify(users); console.log(sonuc); […]

Node.js退出干净的快速入门app.js

我已经安装了快速使用: nvm install -g express && nvm install -g express-generator 然后我跑了: express -c stylus my_app 创build新的空白应用程序,并安装依赖项: nvm install 但是,当我node app.js我的输出是空白/干净,节点退出 imac:sushi_app axu$ node app.js imac:sushi_app axu$ 我究竟做错了什么?

无法从Node.js连接到Telnet服务器

我有一个telnet服务器embedded在一个C ++应用程序,我可以连接到使用telnet没有问题。 我想写一个连接到我的服务器的节点应用程序,我已经试过了 var net = require('net'); var port = 6502 var host = '127.0.0.1' var socket = net.connect(port,host, function() { console.log("Sending data"); socket.write("hello\r\n") socket.on("data", function (data) { console.log("received data"); console.log( data.toString() ); socket.end(); }) }) socket.on("error", function(err) { console.log("Error"); console.log(err); }) 不幸的是我得到的是这个 > node test.js { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: […]

Express – 处理json响应

我有两个节点服务器(A + B),都使用Expressjs。 从一个我使用请求( https://github.com/mikeal/request )做一个GET请求到另一个: //A server app.get('/:id', function(req, res) { request('http://localhost:8080/api/' + req.params.id, function (error, response, body) { console.log(body); }) }); 另一个是: //B server app.get('/api/:id', function(req, res) { res.json(200, {url: "http://www.google.co.uk"}); }); 正如你所看到的,A正在向B发出请求,而B则返回一个JSON结果。 然而,我不知道如何处理console.log(body) : console.log(body)打印完整的JSON,但我怎样才能访问从B发送的url? 我已经尝试body.url但没有运气

mocha-casperjs多客户端node.js应用程序的无头testing

我有一个运行在Sails.js MVC框架上的node.js应用程序。 该应用程序支持来自多个客户端使用socket.io实时连接。 它支持不同的angular色。 例如,您可以以标准用户身份或主持人身份login。 为了testing,我使用mocha-casperjs(以及chai和其他对我的问题不重要的东西),并使用grunt mocha_phantomjs从grunt运行testing。 testing在我的项目的根文件夹中的Gruntfile.js文件中指定。 他们是这样指定的: Gruntfile.js: mocha_casperjs: { files: { src: [ 'test/single-client.js', 'test/multi-client.js', ] } } 这是我想validation的一个testing案例:一旦主持人点击一个特定的button,一个div.container应该出现在主持人的视图以及标准用户的视图。 现在,testing单客户端方面效果很好。 这是一个基本的情况: testing/单client.js: describe('Clicking on a Button as a Moderator', function() { it('results in div.container to appear on the Moderators view', function() { casper .start('http://localhost:1337') .logInAsMod() //Note: This is pseudocode for submitting a […]

Vagrantfile / Dockerfile运行节点应用程序的简单示例

我很难试图获得一个简单的节点应用程序在托pipe使用stream浪者托pipe的容器内运行。 本页面介绍基本方法: https : //www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html 我无法做的是从我的机器访问节点应用程序 – 理论上我相信我应该能够看到我的“你好世界”风格的节点/expression应用程序在localhost:8181 … 以下是我到目前为止: Vagrantfile: Vagrant.configure("2") do |config| config.vm.provider "docker" do |d| d.build_dir = "." d.ports = ["8080:5000"] # Is this necessary if EXPOSE is used in Dockerfile? d.expose = ["5000"] d.remains_running = true d.volumes = ["/shared"] end config.vm.network "forwarded_port", guest: 8080, host: 8181 config.vm.synced_folder "~/Documents/shared", "/shared" end Dockerfile: […]

如何在Node.js中stream式处理文件并将编码保持为ansi(windows-1252)

我使用Formidable将file upload到我的Node-js Web服务器(本地安装进行testing)。 该文件是在我上传之前在ansi(ISO-8859-1),它仍然是上传时,我用记事本++检查该文件。 var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { csv .fromPath(files.upfile.path, {headers: true}) .on("record", function(data){ console.log(data.adresse); }) .on("end", function(){ console.log("done"); }); res.end(console.log("form done")); }); 只要我使用stream或插件(在这种情况下,fast-csv)使用节点fsstream内容,编码是拙劣的。 看到下面的数据, 应该是丹麦字符ø。 {adresse: 'Niver?d By, Karlebo'} 谁能告诉我为什么? 更新: 它通过stream媒体上传的文件,并使用Iconv转换它。 router.post('/upload', function(req, res) { var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { console.log(files.upfile.path); var […]

如何创build共享的,特权的公共方法?

现在我的一个类的一些方法是公共的,但是可以访问私有variables(它们是特权的)。 这是因为它们是在类的构造函数中创build的,所以它们的闭包可以访问对象闭包。 但是,我想避免的是每次创build新的特权方法时的内存和性能开销。 所以我想分享他们。 有什么办法可以将特权方法放入原型? 请求示例: function Person(age) { // age is private this.grow = function() { // grow is now public, but can access private "age" age += 1; } } dan = new Person(10); dan.grow(); dan.age; // undefined 这工作,我有一个公共的方法“成长”,可以访问私人variables“年龄”,但成长必须重新为每个对象。 更高性能的方法是: function Person(age) { // age is private this.age = age; // but this.age […]

npm在树莓派上发布CERT_NOT_YET_VALID

无法得到覆盆子pi到npm install任何东西! pi@raspberrypi ~/raspi-helloworld $ npm install serialport npm WARN package.json raspi-helloworld@0.0.0 No README.md file found! npm http GET http://registry.npmjs.org/serialport npm http 304 http://registry.npmjs.org/serialport npm http GET http://registry.npmjs.org/sf/0.1.6 npm http GET http://registry.npmjs.org/optimist npm http GET http://registry.npmjs.org/nan npm http GET http://registry.npmjs.org/node-pre-gyp npm http GET http://registry.npmjs.org/bindings/1.1.1 npm http GET http://registry.npmjs.org/async/0.1.18 npm http 304 http://registry.npmjs.org/optimist npm http 304 […]