是否有机会使用自定义生成的id将文档添加到firestore集合,而不是firestore引擎生成的id.
在此先感谢您的回复.
我正在尝试创建一个完整的应用程序,阅读以下教程:
我遵循了所有步骤,然后尝试运行:
node server.js
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
MongoDB 连接错误:MongoTimeoutError:服务器选择在 Timeout._onTimeout (C:\RND\fullstack_app\backend\node_modules\mongodb\lib\core\sdam\server_selection.js:308:9) 在 30000 毫秒后超时(内部/ timers.js:531:17) at processTimers (internal/timers.js:475:7) { name: 'MongoTimeoutError', reason: Error: connect ETIMEDOUT 99.80.11.208:27017 at TCPConnectWrap.afterConnect [as oncomplete] (net. js:1128:14) { name: 'MongoNetworkError', [Symbol(mongoErrorContextSymbol)]: {} }, [Symbol(mongoErrorContextSymbol)]: {} } (node:42892) UnhandledPromiseRejectionWarning: MongoTimeoutError: 服务器选择在 30000 毫秒后超时在 Timeout._onTimeout (C:\RND\fullstack_app\backend\node_modules\mongodb\lib\core\sdam\server_selection.js:308:9) 在 listOnTimeout (internal/timers.js:531:17) 在 processTimers (internal/timers.js:475:7)
我在 server.js 上的代码如下:
const mongoose = require('mongoose');
const router = express.Router();
// this is our MongoDB database
const dbRoute =
'mongodb+srv://user:<password>@cluster0-3zrv8.mongodb.net/test?retryWrites=true&w=majority';
mongoose.Promise = global.Promise;
// connects …
Run Code Online (Sandbox Code Playgroud) 我已经使用 Joi 创建了以下用于验证的架构:
const createProfileSchema = Joi.object().keys({
username: Joi.string()
.required()
.message("username is required")
.empty()
.message("username is not allowed to be empty")
.min(5)
.message("username must be greater than 5 characters")
.max(20)
.message("username must be less than 5 characters")
});
Run Code Online (Sandbox Code Playgroud)
但它引发了流动错误:
Cannot apply rules to empty ruleset or the last rule added does not support rule properties
4 | username: Joi.string()
5 | .required()
> 6 | .message("username is required")
| ^
7 | .empty()
8 | .message("username is not allowed to …
Run Code Online (Sandbox Code Playgroud) 我有以下具有所需验证的架构:
var mongoose = require("mongoose");
var validator = require("validator");
var userSchema = new mongoose.Schema(
{
email: {
type: String,
required: [true, "Email is a required field"],
trim: true,
lowercase: true,
unique: true,
validate(value) {
if (!validator.isEmail(value)) {
throw new Error("Please enter a valid E-mail!");
}
},
},
password: {
type: String,
required: [true, "Password is a required field"],
validate(value) {
if (!validator.isLength(value, { min: 6, max: 1000 })) {
throw Error("Length of the password should be between 6-1000");
}
if …
Run Code Online (Sandbox Code Playgroud) 我目前在理解UML中的三元关联方面遇到了一些麻烦.我得到二进制的,但我不确定如何在三元组上进行多重性.我正在做我从大学毕业的练习,目前的练习是这样的:
一个部门可能会销售许多产品,但仅限于一个市场.在市场上,一个产品只能由一个部门出售.
我已经阅读了不同的消息来源,关于我应该如何思考这两个类的一对,我并不是想弄清多重性,但是我的大脑并没有得到它.帮帮我Overflow Kenobi,你是我唯一的希望.
我有一个像这样的频道架构:
const channelSchema = new mongoose.Schema(
{
name: {
type: String,
unique: true
}
}
);
Run Code Online (Sandbox Code Playgroud)
这是反馈模式:
const feedbackSchema = new mongoose.Schema({
channelId: {
type: mongoose.Schema.Types.ObjectId,
ref: "channel",
require: true
}
});
Run Code Online (Sandbox Code Playgroud)
如何通过渠道名称找到反馈?
Feedback.find({channelId.name : 'something'})
Run Code Online (Sandbox Code Playgroud)
谢谢
我想使用反应钩子更改道具,我找到了将 setState 函数作为道具传递给孩子的方法。
容器.tsx
const Container: React.FC = () => {
const [num, setNum] = useState(0);
return <Counter num={num} setNum={setNum} />;
};
Run Code Online (Sandbox Code Playgroud)
Counter.tsx
interface CounterProps {
num: number;
setNum: React.Dispatch<React.SetStateAction<number>>;
}
const Counter: React.FC<CounterProps> = ({ num, setNum }) => {
const handleClick = () => {
setNum(num + 1);
};
return (
// jsx codes...
);
};
Run Code Online (Sandbox Code Playgroud)
它运作良好,但我必须为父组件的每个状态添加两个道具到子组件。有没有更有效的方法来解决这个问题?
我希望在存在新标签时更新我的 ECS 任务定义映像标签。
在 CodePipeline 中,当我使用新标签推送映像后,我尝试使用以下命令更新服务,但它不会自动获取新映像,仍然是旧映像。
- docker push ${DOCKERHUB_USER}/aws-dummy-api:${IMAGE_TAG}
- aws ecs update-service --cluster my-cluster --service dummy-api-service --force-new-deployment --region eu-central-1
Run Code Online (Sandbox Code Playgroud)
那么当我推送新标签时如何自动获取新的图片标签呢?
假设我有一个 Angular 组件,它定义了一个 ObservablemyObs$
作为其属性之一。
在一项测试中,给定某些条件,我想测试myObs$
不通知。在逻辑上有一些延迟,所以测试必须是异步的。
我正在使用茉莉花。
到目前为止,我已经能够制定这个解决方案:
it('async test', done => {
let dataEmitted;
myObs$
.pipe(
tap(data => dataEmitted = data),
)
.subscribe();
setTimeout(() => {
if (dataEmitted) {
done.fail('should not emit');
} else {
done();
}
}, 1000);
});
Run Code Online (Sandbox Code Playgroud)
但我对此并不满意。我必须依靠setTimeout
执行检查和调用done
函数。
有关如何正确执行此类测试的任何建议?同步解决方案不起作用,因为逻辑中存在内在的异步性。
我工作useSelector
的react-redux
在我的阵营原生应用程序,我收到以下错误:
TypeError: TypeError: (0, _reactRedux.useSelector) is not a function.
我的代码是:
import { useSelector } from 'react-redux';
const availableMeals = useSelector(state => state.meals.filteredMeals);
根据官方文档,这是最简单的用法,useSelector
但我收到此错误。
以前,我Redux
在我的项目中遇到另一个错误,但它在一夜之间自动解决了,所以这个问题与某些缓存有关吗?
我该如何解决这个问题?
这是我的代码:
import React from 'react';
import { useSelector } from 'react-redux';
import { CATEGORIES } from '../data/dummy-data';
import MealList from '../components/MealList';
function CategoryMealScreen(props) {
const catId = props.navigation.getParam('categoryId');
const availableMeals = useSelector(state => state.meals.filteredMeals);
const displayedMeals = availableMeals.filter(meal => meal.categoryIds.indexOf(catId) >= 0);
return <MealList listData={displayedMeals} navigation={props.navigation} />; …
Run Code Online (Sandbox Code Playgroud) node.js ×4
mongoose ×3
reactjs ×2
validation ×2
amazon-ecs ×1
angular ×1
angular-test ×1
associations ×1
docker ×1
ejs ×1
express ×1
firebase ×1
jasmine ×1
javascript ×1
joi ×1
react-hooks ×1
react-native ×1
react-redux ×1
rxjs ×1
ternary ×1
typescript ×1
uml ×1