Console:
DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
server stared at port 7777
mongodb connection is successfull
events.js:200
throw er; // Unhandled 'error' event
^
ReferenceError: res is not defined
at D:\java script\React\hello\database\server.js:26:9
at D:\java script\React\hello\database\node_modules\mongoose\lib\model.js:4883:16
at D:\java script\React\hello\database\node_modules\mongoose\lib\model.js:4883:16
at D:\java script\React\hello\database\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
at D:\java script\React\hello\database\node_modules\mongoose\lib\model.js:4906:21
at D:\java script\React\hello\database\node_modules\mongoose\lib\query.js:4390:11
at D:\java script\React\hello\database\node_modules\kareem\index.js:135:16
at processTicksAndRejections (internal/process/task_queues.js:76:11)
Emitted 'error' event on Function instance at:
at D:\java script\React\hello\database\node_modules\mongoose\lib\model.js:4885:13
at D:\java scr
ipt\React\hello\database\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
[... lines matching original stack trace ...]
at processTicksAndRejections (internal/process/task_queues.js:76:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Database#1.0.0 start: `node server.js "--port" "7777"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the Database#1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\HP\AppData\Roaming\npm-cache\_logs\2020-06-11T07_56_43_613Z-debug.log
My code is: He is my server.js file. In which I an trying to post data into mongodb.
const express =require("express")
const app=express();
const path=require('path');
const bodyParser=require('body-parser');
const cors =require('cors');
app.use(cors());
app.use(bodyParser.json());
const structRoute=express.Router();
let Struct=require('./query.model');
const mongooes=require('mongoose');
mongooes.connect('mongodb://127.0.0.1:27017/query',{ useNewUrlParser: true });
const connection=mongooes.connection;
connection.once("open",function(){
console.log("mongodb connection is successfull");
})
structRoute.route('/').get(function(){
Struct.find(function(err,query){
if(err){
console.log("error");
}
else{
res.json(query);
}
});
});
structRoute.route('/:id').get(function(req,res){
let id=req.params.id;
Struct.findById(id,function(err,query){
res.json(query);
});
});
structRoute.route('/add').post(function(req,res){
let query=new Struct(req.body);
query.save()
.then(query=>{
res.status(200).json({'query':"added successfully"})
})
.catch(
err=>{res.status(400).send("adding failed");}
);
});
app.use('/Struct',structRoute);
enter code here
app.listen(7777,()=>{
console.log("server stared at port 7777")
})
You forget add req and res to this function.
structRoute.route("/").get((req, res) => {
Struct.find((err, query) => {
if (err) {
console.log("error");
} else {
res.json(query);
}
});
});
Related
I'm trying to make unit testing by jasmine but jasmine can't find the spec as the following error
and I don't know why I get such an error even though I just try running a very simple suite which always returns true !!!!
any advice would be appreciated
No specs found
Finished in 0.005 seconds
Incomplete: No specs found
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! img_process#1.0.0 jasmine: `jasmine`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the img_process#1.0.0 jasmine script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:my path
npm ERR! Test failed. See above for more details.
this is jasmine.json file
{
"spec_dir": "dist",
"spec_files": [
"**/*[sS]pec.?(m)js"
],
"helpers": [
"helpers/**/*.?(m)js"
],
"env": {
"stopSpecOnExpectationFailure": false,
"random": false
}
}
note: the spec.js files located successfully in dist directory after ts build
this is my index.ts file
import express, { Application, Request, Response } from 'express';
import dotenv from 'dotenv';
dotenv.config();
import routes from './routes/index';
const app: Application = express();
app.use(routes);
// app.use(supertest);
const port = process.env.PORT;
app.get('/', (req: Request, res: Response) => {
res.json({
message: 'Express + TypeScript Running '
});
});
app.listen(port, () => {
console.log(`⚡️[server]: Server is running at https://localhost:${port}`);
});
export default app;
this is the index.spec.ts file
import supertest from 'supertest';
import app from '../index';
const request = supertest(app);
describe('Test endpoint responses', () => {
it('gets the api endpoint', async (done) => {
const response = await request.get('/');
expect(response.status).toBe(200);
done();
}
)});
describe('placeholder', () => {
it('will always pass', async () => {
expect(true).toBe(true);
});
});
I am running into the error
An error occurred in the application and your page could not be served.
when running 'heroku open' command. On heroku dashboard it says deployed successfully but then it will not run 'it is working' from the app.get line of code.
server.js
const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt-nodejs');
const cors = require('cors');
const knex = require('knex');
const register = require('./controllers/register');
const signin = require('./controllers/signin');
const profile = require('./controllers/profile');
const image = require('./controllers/image');
const db = knex({
client: 'pg',
connection: {
host : '127.0.0.1',
user : 'benjohnson',
password : '',
database : 'smart-brain'
}
});
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.get('/', (req, res)=> { res.send('its working!') })
app.post('/signin', signin.handleSignin(db, bcrypt))
app.post('/register', (req, res) => { register.handleRegister(req, res, db, bcrypt) })
app.get('/profile/:id', (req, res) => { profile.handleProfileGet(req, res, db)})
app.put('/image', (req, res) => { image.handleImage(req, res, db)})
app.post('/imageurl', (req, res) => { image.handleApiCall(req, res)})
app.listen(process.env.PORT || 3000, ()=> {
console.log(`app is running on port ${process.env.PORT}`);
})
When running the server.js file within the heroku cli i receive the error, when running 'heroku logs --tail' i receive this error?
> node#1.0.0 start /Users/benjohnson/.Trash
> nodemon server.js
sh: nodemon: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! node#1.0.0 start: `nodemon server.js`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the node#1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likel
y additional logging output above.
npm WARN Local package.json exists, but node_modules missing, di
d you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/benjohnson/.npm/_logs/2019-09-25T14_11_11_91
0Z-debug.log
The error is about nodemon.
Open the package.json, is at the same folder with server.js
Find:
"scripts": {
"start": " nodemon server.js",
},
And replace it with:
"scripts": {
"start": "node server.js",
"start:dev": "nodemon server.js"
},
Upload again in Heroku.
When you want to run the project locally, just run in your terminal npm start:dev and it will load server.js with nodemon.
i testing traffic on my node app in localhost using http.get(). i generate 10000 request on every 5 seconds.
the problem is when i run command npm start and after 20 to 30 seconds server crashed and with following error
events.js:136
throw er; // Unhandled 'error' event
^
Error: connect EADDRNOTAVAIL localhost:8000 - Local (localhost:0)
at Object._errnoException (util.js:999:13)
at _exceptionWithHostPort (util.js:1020:20)
at internalConnect (net.js:987:16)
at net.js:1087:9
at process._tickCallback (internal/process/next_tick.js:150:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! app#1.0.0 start: `node ./bin/run`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the app#1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/kd/.npm/_logs/2018-03-28T08_32_26_105Z-debug.log
i using 16.04.1-Ubuntu
here is my app.js
var rob = require('./test/rob.js');
for (var i = 0; i < 10000; i++) {
rob.init();
}
here is rob.js
var http = require('http');
module.exports = {
init : function(){
var pages = [
'dashboard',
'home',
'login',
'contact',
'support',
'about'
];
setInterval(function(){
try{
var pg = pages[Math.round(Math.random() * 5)];
http.get('http://localhost:8000/' + pg,
res => {
console.log('RES =>','SUCCSESS');
},
err => {
console.log('ERROR','ERROR');
});
}catch(err){
console.log('ER','ERR');
}
},5000);
}
}
here is run.js
var http = require('http');
var app = require('../app');
/* Create Server */
var port = 8000;
var host = '0.0.0.0';
var server = http.createServer(app);
io = module.exports = require('socket.io').listen(server, {
pingTimeout: 7000,
pingInterval: 10000
});
io.set("transports", ["xhr-polling","websocket","polling"]);
server.listen(port,host,function(){
log('server is running on ' + host +':'+port);
});
how to fix this problem ?
there are any other way to check traffic ?
Im doing migration to parse server. And until now everything worked well. But now I want to add google cloud storage file adapter and if I add this line to my code it stops working. Can you somebody tell me why.
var GCSAdapter = require('parse-server-gcs-adapter');
This is the log:
npm ERR! Linux 3.13.0-105-generic
npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! parse-server-example#1.4.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the parse-server-example#1.4.0 start script 'node index.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the parse-server-example package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node index.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs parse-server-example
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls parse-server-example
npm ERR! There is likely additional logging output above.
2017-01-29T16:56:58.161879+00:00 app[web.1]:
npm ERR! Please include the following file with any support request:
npm ERR! /app/npm-debug.log
My index.js file:
// Example express application adding the parse-server module to expose Parse
// compatible API routes.
var express = require('express');
var ParseDashboard = require('parse-dashboard');
var ParseServer = require('parse-server').ParseServer;
var GCSAdapter = require('parse-server-gcs-adapter');
var path = require('path');
var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
if (!databaseUri) {
console.log('DATABASE_URI not specified, falling back to localhost.');
}
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'myAppId',
masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse', // Don't forget to change to https if needed
// liveQuery: {
// classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
// }
// filesAdapter: new GCSAdapter(
// "oval-proxy-117311",
// "./SymboloKey",
// "Symbolo",
// {directAccess: true}
// )
});
// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey
const dashboard = new ParseDashboard( {
'allowInsecureHTTP': true,
'apps': [
{
'serverURL': process.env.SERVER_URL,
'appName': 'Symbolo',
'appId': process.env.APP_ID,
'masterKey': process.env.MASTER_KEY
}
],
'users': [
{
'user': 'public',
'pass': 'qwerty'
}
]
}, true )
var app = express();
// Serve static assets from the /public folder
app.use('/public', express.static(path.join(__dirname, '/public')));
// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);
// serve the Parse Dashboard
app.use('/dashboard', dashboard)
// Parse Server plays nicely with the rest of your web routes
app.get('/', function(req, res) {
res.status(200).send('I dream of being a website. Please star the parse-server repo on GitHub!');
});
// There will be a test page available on the /test path of your server url
// Remove this before launching your app
app.get('/test', function(req, res) {
res.sendFile(path.join(__dirname, '/public/test.html'));
});
var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
console.log('parse-server-example running on port ' + port + '.');
});
// This will enable the Live Query real-time server
// ParseServer.createLiveQueryServer(httpServer);
If I run npm install:
Klemens-MBP-2:Cloud klemen$ npm install
npm WARN deprecated mongodb#2.2.10: Please upgrade to 2.2.19 or higher
> bcrypt#1.0.2 install /Users/klemen/Dev/Newcomm/Cloud/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build
node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v51-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for bcrypt#1.0.2 and node#7.4.0 (node-v51 ABI) (falling back to source compile with node-gyp)
I have an error with Heroku while i try to submit information on my app.
i'm following steps from the documentation : https://trailhead.salesforce.com/en/project/quickstart-heroku-connect/qs-heroku-connect-4
I run the server, i clic on submit button then on my term i get :
{ [Error: connect ETIMEDOUT 54.228.214.47:5432]
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: '54.228.214.47',
port: 5432 }
/home/f.freitag/workspace/radiant-dusk-13720/server.js:17
conn.query(
TypeError: Cannot read property 'query' of null
at /home/f.freitag/workspace/radiant-dusk-13720/server.js:17:13
at /home/f.freitag/workspace/radiant-dusk-13720/node_modules/pg/lib/pool.js:82:27
at /home/f.freitag/workspace/radiant-dusk-13720/node_modules/pg/node_modules/generic-pool/lib/generic-pool.js:339:9
at /home/f.freitag/workspace/radiant-dusk-13720/node_modules/pg/lib/pool.js:31:28
at null.<anonymous> (/home/f.freitag/workspace/radiant-dusk-13720/node_modules/pg/lib/client.js:176:5)
at emitOne (events.js:77:13)
at emit (events.js:169:7)
at Socket.<anonymous> (/home/f.freitag/workspace/radiant-dusk-13720/node_modules/pg/lib/connection.js:59:10)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
npm ERR! Linux 2.6.32-504.12.2.el6.x86_64
npm ERR! argv "/usr/local/node/bin/node" "/usr/local/node/bin/npm" "start"
npm ERR! node v4.5.0
npm ERR! npm v2.15.9
npm ERR! code ELIFECYCLE
npm ERR! phone-change#0.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR! Failed at the phone-change#0.0.0 start script 'node server.js'.
npm ERR! This is most likely a problem with the phone-change package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node server.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs phone-change
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls phone-change
npm ERR! There is likely additional logging output above.
I tried to see on google for this problem but i found nothing. Also, i'm not a nodeJS programmer, it's maybe simple.
I didn't change code from the git clone.
Here the code from server.js. I put a comment on the line error
var express = require('express');
var bodyParser = require('body-parser');
var pg = require('pg');
var app = express();
app.set('port', process.env.PORT || 5000);
app.use(express.static('public'));
app.use(bodyParser.json());
app.post('/update', function(req, res) {
pg.connect(process.env.DATABASE_URL, function (err, conn, done) {
if (err) console.log(err);
conn.query( //the error
'UPDATE salesforce.Contact SET Phone = $1, HomePhone = $1, MobilePhone = $1 WHERE LOWER(FirstName) = LOWER($2) AND LOWER(LastName) = LOWER($3) AND LOWER(Email) = LOWER($4)',
[req.body.phone.trim(), req.body.firstName.trim(), req.body.lastName.trim(), req.body.email.trim()],
function(err, result) {
done();
if (err) {
res.status(400).json({error: err.message});
}
else {
res.json(result);
}
});
}
else {
done();
res.json(result);
}
}
);
});
app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
The problem is with the Heroku Connect mappings. Since you've added a new field in the query you also need to update the mappings which you did during the initial setup of Heroku Connect for Contact object.
Steps:
Go to Heroku Connect
Visit mappings section and select the mapping for Contact.
Click on Edit and select HomePhone and save it.
Once above steps are done rerun the application and now should see HomePhone field value populated as same as Phone.