有没有办法用 JSON 指针选择一个数组成员作为键的值?所以对于这个 JSON 模式:
"links":[
{
"title": "Create",
"href": "/book",
"method": "POST",
"schema": {}
},
{
"title": "Get",
"href": "/book",
"method": "GET",
"schema": {}
}
]
Run Code Online (Sandbox Code Playgroud)
代替:
links/0/schema
Run Code Online (Sandbox Code Playgroud)
我希望能够做到:
links/{title=GET}/schema
Run Code Online (Sandbox Code Playgroud) 我从RETS(XML)提要中提取数据并使用node和mongoose将其保存在本地MongoDB中.
我需要定期更新文档并删除不活动的文档以及添加新文档.我没有对Mongo或RETS服务器进行多次查询,而是将两者都拉出来并循环遍历数据.
这工作正常但是有没有办法将Mongoose结果保存回数据库并进行更新和插入?或者我是否需要找到每个文档并单独更新?
我在node.js中使用Sequelize来保存打开和关闭时间.我也使用moment.js来格式化.改变FindOrCreate我这样做:
result.open = moment(hours.open, "hh:mma").format("YYYY-MM-DD HH:mm:ss");
result.save()
...
Run Code Online (Sandbox Code Playgroud)
这工作正常,时间格式化为MySQL的日期时间格式.问题是当我检索时间时Seqquelize认为它是UTC时间并将其转换为EST(我的服务器时区).
我希望它以UTC的形式进入数据库并以相同的方式出现.有什么我做错了吗?为什么Sequelize在插入时不将其转换为UTC,但假设它的UTC出来了?另外,有没有办法让它尝试转换为我的服务器时区?
刚升级到节点4.1.2并使用Mongorito(使用ES6)访问Mongo,我得到了这个:
型号文件:
var Mongorito = require('mongorito');
var Model = Mongorito.Model;
var config = require('../config/config');
Mongorito.connect(config.mongo.url);
class Listing extends Model {}
module.exports = Listing;
Run Code Online (Sandbox Code Playgroud)
我包括它:
var Listing = require('../models/listing');
var listing = yield Listing.where('cacheKey', key).findOne();
Run Code Online (Sandbox Code Playgroud)
TypeError: Class constructors cannot be invoked without 'new'
at Listing.Model (/node_modules/mongorito/lib/mongorito.js:140:15)
at new Listing (/models/listing.js:7:14)
at Query.find (/node_modules/mongorito/lib/query.js:355:21)
at [object Generator].next (native)
at onFulfilled (/node_modules/koa/node_modules/co/index.js:65:19)
at run (/node_modules/babel/node_modules/babel-core/node_modules/core-js/modules/es6.promise.js:89:39)
at /node_modules/babel/node_modules/babel-core/node_modules/core-js/modules/es6.promise.js:100:28
at flush (/node_modules/babel/node_modules/babel-core/node_modules/core-js/modules/$.microtask.js:17:13)
at doNTCallback0 (node.js:408:9)
at process._tickCallback (node.js:337:13)
Run Code Online (Sandbox Code Playgroud) 我正在尝试从Docker容器中的node.js应用程序查询firebase.它在本地工作,但不在容器中.我打开端口443,我可以请求谷歌好.出于某种原因,我从来没有得到过在Docker容器中运行的响应.我怀疑它是websockets的东西.
我的端口是:0.0.0.0:443-> 443/tcp,0.0.0.0:8080-> 8080/tcp
在我的docker syslog中:删除从172.18.0.3:33288发送到216.58.210.173:443的意外TCP数据包(有效来源= 192.168.65.2,0.0.0.0)
关于尝试什么的想法?
firebase.initializeApp({
serviceAccount: firebaseKey,
databaseURL: 'https://my-firebase.firebaseio.com'
});
const userId = 'xxxxxxxxxxxx';
const ref = firebase.database().ref(`datasource/${userId}`)
.once('value').then( (snapshot) => {
console.log(snapshot.val());
return callback(null, 'ok');
}, (error) => {
console.error(error);
return callback(error);
});
Run Code Online (Sandbox Code Playgroud)
还有我的docker-compose.yml
version: "2"
services:
test-import:
build: .
command: npm run dev
volumes:
- .:/var/www
ports:
- "7000:8080"
- "443:443"
depends_on:
- mongo
networks:
- import-net
mongo:
container_name: mongo
image: mongo
networks:
- import-net
networks:
import-net:
driver: bridge
Run Code Online (Sandbox Code Playgroud) 我试图在电子应用程序中要求grpc,但我收到以下错误:
Error: dlopen(/srv/node_modules/grpc/src/node/extension_binary/grpc_node.node, 1): Symbol not found: _GENERAL_NAME_free
Referenced from: /srv/node_modules/grpc/src/node/extension_binary/grpc_node.node
Expected in: flat namespace
Run Code Online (Sandbox Code Playgroud)
我正在使用OSX Sierra 10.12.1,节点6.8.1,电子1.4.4和grpc 1.0.1-pre1.
我升级了xcode命令行工具并进行了brew安装openssl --force.
我建立了二进制文件:
LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include ./node_modules/.bin/electron-rebuild
Run Code Online (Sandbox Code Playgroud)
并手动:
LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include HOME=~/.electron-gyp node-pre-gyp rebuild --target=1.4.4 --arch=x64 --dist-url=https://atom.io/download/atom-shell
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,我仍然得到错误.
我正在使用node.js来挑选某些转换文本中的字段值.随机空间非常混乱.一行看起来像这样:
'ADDRESS: 2626 W MAIN ST Tran Total $1.91.$3'
Run Code Online (Sandbox Code Playgroud)
我知道哪些领域开始,但我无法在两个白色空间之后得到它.这是我正在尝试但它返回'ADDRESS:'右侧的所有内容:
/ADDRESS:\s([[^\s{2,}]+)/
Run Code Online (Sandbox Code Playgroud)
有没有办法包含空格并在前瞻的第一个双空间停留?这不起作用:
/ADDRESS:\s(.*(q!\s{2,}))/
Run Code Online (Sandbox Code Playgroud) 我尝试将 DownShift 中的 useComboBox 与 react-hook-form 一起使用,并且输入的值始终未定义。我从这里开始:https://codesandbox.io/s/react-hook-form-controller-079xx ?file=/src/DonwShift.js
并将 DownShift.js 组件替换为: https: //codesandbox.io/s/usecombobox-usage-1fs67? file=/src/index.js:168-438
一切正常,除非我提交的值未定义。设置该值时我缺少什么?
<form className="card" onSubmit={handleSubmit(handleShare)}>
<div className="body">
<Controller
as={Autocomplete}
control={control}
name="recipient"
items={userList}
/>
<button
className="secondaryActionBtn inputBtn"
type="submit"
enabled={String(formState.dirty)}
>
<FontAwesomeIcon icon={faPlus} />
</button>
{errors.lastname && 'Feed Name is required.'}
</div>
<footer></footer>
</form>Run Code Online (Sandbox Code Playgroud)
import React, { memo, useState } from 'react';
import PropTypes from 'prop-types';
import { useCombobox } from 'downshift';
const menuStyles = {
maxHeight: '180px',
overflowY: 'auto',
width: '135px',
margin: 0,
borderTop: 0,
background: 'white', …Run Code Online (Sandbox Code Playgroud)node.js ×4
mongodb ×2
docker ×1
downshift ×1
ecmascript-6 ×1
electron ×1
firebase ×1
grpc ×1
javascript ×1
jsonpointer ×1
momentjs ×1
mongoose ×1
regex ×1
sequelize.js ×1