小编twg*_*er2的帖子

.save()不是函数Mongoose

我不断遇到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)

javascript mongodb node.js

13
推荐指数
2
解决办法
2万
查看次数

JS HTML5拖放:自定义Dock效果在Chrome中跳跃

情况:我正在使用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

10
推荐指数
1
解决办法
461
查看次数

使用purrr将函数映射到嵌套列表的第二级

我正在努力更好地理解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映射meanmtcars被拆分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)

functional-programming nested r purrr

7
推荐指数
1
解决办法
3244
查看次数

闪亮:使renderUI对下拉列表做出反应而不是submitButton

如何让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)

r shiny

5
推荐指数
1
解决办法
1093
查看次数

Makefile变量-替换变量中的空白

我在尝试着:

  1. 将路径导出到.env文件,以便可以访问make
  2. 在my中Makefile,将的内容读.env入变量
  3. 将内容解析为用于构建和部署应用程序的变量

问题是:

  • 我似乎找不到正则表达式来匹配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)

regex shell perl grep gnu-make

2
推荐指数
1
解决办法
174
查看次数