我正在尝试向文档添加新字段,但这不起作用:
创建我的UserModel原型:
model = require("../models/user")
UserModel.prototype.findOneAndUpdate = function(query, params, cb) {
model.findOneAndUpdate(query, params, { returnNewDocument: true, new: true }, function(err, data) {
if (!err) {
cb(false, data);
} else {
cb(err, false);
}
});
};
Run Code Online (Sandbox Code Playgroud)
然后调用它
userFunc = require("../../model_functions/user")
userFunc.findOneAndUpdate({
"email.value": userEmail
}, {
$set: {"wat":"tf"}
},
function (err, updatedUser) {
//This logs the updated user just fine, but the new field
is missing
console.log(updatedUser);
...
}
);
Run Code Online (Sandbox Code Playgroud)
这会成功更新任何字段,只要它存在,但不会添加任何新字段.
我在 bluehost 中有一个 VPS,我通过 SSH 安装了 node 和 npm,并且我设法在 www.mywebsite.com:3000 中运行了一个 node 应用程序,所以我有两个问题:
1) 我如何运行 app.js 以便在它“收听” www.mywebsite.com 时?我的意思是,当我访问 www.mywebsite.com 时,我会在我的本地主机中看到我的 index.ejs 和所有内容,而不是访问 www.mywebsite.com:3000。
2) 当我设法在 www.mywebsite.com:3000 中运行节点应用程序时,如果我停止 SSH 连接,它将关闭,它不会保持“永远”状态,我如何启动服务器一次并保持它?与 Heroku 一样,可以使用脚本“node app.js”上传 package.json 并且服务器将始终启动并运行。
我如何在端口 3000 中运行节点应用程序:
首先我跑了npm init,然后我安装了 expressnpm install --save express
应用程序.js:
var express = require("express");
var app = express();
app.get("/", function(req,res){
res.send("hi");
});
app.listen(3000, functions(){
console.log("Server Started");
});
Run Code Online (Sandbox Code Playgroud) 我想测试我的纯组件,所以我这样做:
MyComp.js
export MyComp = props => {
return (
<Wrapper>Content</Wrapper>
)
}
const MyCompConn = connect()(MyComp);
export default MyCompConn;
Run Code Online (Sandbox Code Playgroud)
在哪里<Wrapper>:
export Wrapper = ({children}) => {
return (
<div>{children}</div>
)
}
const WrapperConn = connect()(Wrapper);
export default WrapperConn;
Run Code Online (Sandbox Code Playgroud)
MyComp.test.js
import React from 'react';
import renderer from 'react-test-renderer';
import { MyComp } from '../../MyComp';
describe('With Snapshot Testing', () => {
it('renders!"', () => {
const component = renderer.create(<Login />);
const tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
});
Run Code Online (Sandbox Code Playgroud)
现在,当我运行时yarn …
I am trying to use nodejs in ubuntu 16.04 and I installed node and npm but I'm having this error "TypeError: Cannot read property '_locals' of undefined" when I try this:
var express = require("express");
app = express();
bodyParser = require("body-parser");
mongoose = require("mongoose");
app.set("view engine", "ejs");
app.get("/", function(req,res){
app.render("index");
});
app.listen(3000, function(){
console.log("Server Started!");
})
Run Code Online (Sandbox Code Playgroud)
it outputs in the terminal:
Server Started!
TypeError: Cannot read property '_locals' of undefined
at EventEmitter.render (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/application.js:548:11)
at /home/luis/Documents/work/webdevBootcamp/test/app.js:9:6
at Layer.handle [as handle_request] (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/layer.js:95:5) …Run Code Online (Sandbox Code Playgroud) 我正在尝试导出没有装饰器的组件(在这种情况下为connect()),以使用进行单元测试jest。
因此,我该怎么做:
import React, { Component } from 'react';
import { connect } from 'react-redux';
export class Header extends Component {
render(){
return <pre>Header</pre>
}
}
export default connect()(Header);
Run Code Online (Sandbox Code Playgroud)
使用此组件(开始时无法导出,仍然会导出连接的组件)
export let Header = props => {
render(){
return <pre>Header</pre>
}
}
Header = connect()(Header);
export default Header;
Run Code Online (Sandbox Code Playgroud) 我正在尝试导入要加载THREE.OBJLoader().load()函数的本地 .obj ,我知道它可以工作,因为当我传递非本地 URL(例如“ http://downloadOBJfromHere.com ”)时,它会完美加载它,这是我的主要问题就是这样,每次我加载它时,它都必须下载 obj 并且需要很长时间。
我正在使用 React 进行服务器端渲染。
import * as THREE from 'three';
import * as OBJLoader from 'three-obj-loader';
import obj from '../../../assets/obj/scene.obj';
Run Code Online (Sandbox Code Playgroud)
在ComponentDidMount():
const loader = new THREE.OBJLoader();
loader.load( obj,
object => {
scene.add(object);
},
xhr => {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
error => {
console.log("Error! ", error);
}
);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我在 Chrome 控制台中收到错误消息:
Unexpected line: '<!doctype html><html lang="en" data-reactroot="" data-reactid="1" data-react-checksum="1415239080"><head data-reactid="2"><meta …Run Code Online (Sandbox Code Playgroud) javascript ×6
node.js ×3
reactjs ×3
jestjs ×2
redux ×2
unit-testing ×2
express ×1
mongodb ×1
mongoose ×1
objloader ×1
ssh ×1
three.js ×1
ubuntu-16.04 ×1
vps ×1
webpack ×1