我不断遇到newUser.save()不是函数的问题.这是我以前用过的猫鼬功能.我正确地需要mongoose并且不确定为什么发生这个错误.欢迎任何帮助.
我得到的错误是 TypeError: newUser.save is not a function
我在模型文件夹中的user.js
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
var Schema = mongoose.Schema;
var UserSchema = new Schema({
name: String,
email: String,
password: String,
info: String
});
var User = module.exports = mongoose.model('User', UserSchema);
module.exports.createUser = function(newUser, callback){
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(newUser.password, salt, function(err, hash) {
newUser.password = hash;
newUser.save(callback);
});
});
}
module.exports.getUserByUsername = function(username, callback){
User.findOne({username : username}, callback);
}
module.exports.getUserById = function(id, callback){
User.findById(id, callback);
}
module.exports.checkPassword = …Run Code Online (Sandbox Code Playgroud) 情况:我正在使用HTML5拖放将瓷砖放在我正在编写的游戏中.我想添加一个效果,其中两个瓷砖,我即将放置一个新的瓷砖之间稍微移动,以表明这是你正在下降的地方(类似于Mac OS底座).
我的方法:我有一个flexbox我正在丢弃这些瓷砖的东西.我写了一个函数,基本上返回一个正弦波周期,我用它来更新丢弃的瓷砖right:和top:CSS属性(瓷砖position: relative;),基于它们相对于鼠标的原始位置drag.
// Update occupant style for desired effect
occupants.forEach(function(occupant, index) {
$(occupant).css({'right' : -10 * nudgeSine(occupantsMouseOffset[index] * 10) + 'px',
'top' : -10 * Math.abs(nudgeSine(occupantsMouseOffset[index] * 10)) + 'px',
'opacity' : 1 - Math.abs(nudgeSine(occupantsMouseOffset[index])) });
});
// Function to return 1 period of a sine wave
function nudgeSine(x) {
if (x < -3.14159 || x > 3.14159) {
return 0;
} else {
return Math.sin(x); …Run Code Online (Sandbox Code Playgroud) javascript user-interface drag-and-drop google-chrome html5-draggable
我正在努力更好地理解R中的函数式编程.我想坚持下去purrr,但我将用它rapply来演示我正在寻找的内容.首先,我想要了解的一个简单示例:
您可以使用map获取mtcars数据集的每列的平均值:
library(tidyverse)
mtcars %>% map_dbl(mean)
mpg cyl disp hp drat wt qsec
20.090625 6.187500 230.721875 146.687500 3.596563 3.217250 17.848750
vs am gear carb
0.437500 0.406250 3.687500 2.812500
Run Code Online (Sandbox Code Playgroud)
但是,我怎么会用purrr映射mean到mtcars被拆分cyl?
library(tidyverse)
mtcars_split <- mtcars %>% split(.$cyl)
mtcars_split %>% map(mean)
$`4`
[1] NA
$`6`
[1] NA
$`8`
[1] NA
Warning messages:
1: In mean.default(.x[[i]], ...) :
argument is not numeric or logical: returning NA
2: In …Run Code Online (Sandbox Code Playgroud) 如何让renderUI响应用户从下拉列表中选择不同的值而不必单击我的submitButton?
我有一个包含3个内容的wellPanel:
1)我的下拉列表
2)一组动态输入(由我的renderUI函数创建,取决于#1中的选择)
3)submitButton
所需行为:对下拉选项的更改为用户提供了不同的输入窗口小部件.当他们为所选输入的结果做好准备时,他们会单击submitButton,然后他们会在mainPanel中获得结果.
问题:我的renderUI仅在单击submitButton后对下拉选择作出反应.据我所知,我需要隔离一些东西或使用observeEvent,但我无法弄明白.
简化示例:
rm(list = ls())
library(shiny)
ui <- fluidPage(
fluidRow(
column(4,wellPanel(
selectInput("analysis", label = "Type of Analysis:",
c("Award Total" = "total",
"Award Average" = "average"),
width = validateCssUnit("70%")),
uiOutput("filter_box"),
submitButton()
)),
column(8, textOutput("sample_text"))
)
)
server <- function(input, output, session){
output$filter_box <- renderUI({
if(input$analysis == "total"){
tagList(radioButtons(inputId = "input1", label = "Select One:",c("A", "B", "C"), selected = "A"))
} else {
tagList(checkboxGroupInput(inputId = "input2", label = "Select all that apply:",c("1","2","3","4","5")),
dateRangeInput(inputId = "input3", label …Run Code Online (Sandbox Code Playgroud) 我在尝试着:
.env文件,以便可以访问makeMakefile,将的内容读.env入变量问题是:
make替换我的换行符以解析我的变量的空格。我的正则表达式找到了正确的起点,但包括了.env文件的其余部分,而不是在要提取的值之后停在空白处。我知道当cat我将文件放入变量时,会make去除换行符。来自GNU Make docs:
shell函数执行与大多数shell中反引号('`')相同的功能:它执行命令扩展。这意味着它将shell命令作为参数并求值到命令的输出。对结果进行的唯一处理是将每个换行符(或回车符/换行符对)转换为单个空格。如果有尾随(回车和)换行符,它将被删除。
但是,我无法获得任何正则表达式来提前识别这些空间以提取变量或用另一个字符替换这些空间以帮助提取。
例:
.env:
SSH_CREDENTIALS=path/to/my/key
ANOTHER_VAR=somethingelse
YET_ANOTHER_VAR=yetanothersomething
Run Code Online (Sandbox Code Playgroud)
Makefile:
ENV_FILE_CONTENTS := $(shell cat $(ENV_FILE_PATH) ) # | sed -e 's/[[:space:]]/x/g'
$(info $(ENV_FILE_CONTENTS))
SSH_CREDENTIALS := $(shell echo $(ENV_FILE_CONTENTS) | grep -o -P '(?<=SSH_CREDENTIALS=).*(?=[[:space:]])' )
$(info $(SSH_CREDENTIALS))
SSH_CREDENTIALS := $(shell echo $(ENV_FILE_CONTENTS) | grep -o -P '(?<=SSH_CREDENTIALS=).*(?=\s)' )
$(info $(SSH_CREDENTIALS))
[recipes below]
Run Code Online (Sandbox Code Playgroud)
命令和结果:
$ export …Run Code Online (Sandbox Code Playgroud)