- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个检查 mongoose 是否有重复记录的函数。在这种情况下name
和email
是唯一字段,因此如果数据库中存在具有相同名称或电子邮件的记录,则无法插入新记录:
const checkIfDatabaseHasUsersWithSameNameAndEmail = async () => {
uniques = ['name', 'email'];
uniques.map((field) => {
let query = {};
query[field] = data[field];
query.deleted = false;
let result = await model.findOne(query); <== ERROR: await is a reserved word
if (result) {
errors.push({
field: field,
message: 'A record already exists in database for ' + field + '=' + data[field]
});
}
});
if (errors.length > 0)
return errors;
}
schema.statics.create = function (data) {
let errors = await checkIfDatabaseHasUsersWithSameNameAndEmail(); <== ERROR: await is a reserved word
if (errors)
throw new Error(errorMessages);
let company = new this(data);
return company.save();
}
运行时,我在代码中发现以下错误:await is a reserved word
这是我第一次使用 async/await,所以可能我的做法是错误的。我的目标是按顺序运行唯一的测试(findOne),如果一切顺利,则保存新的寄存器。
最佳答案
错误是因为您试图等待某些内容,但尚未声明函数异步。我没有用 Mongoose 测试这个,但它看起来像这样。
async function checkIfDatabaseHasUsersWithSameNameAndEmail(data) {
const uniques = ['name', 'email'];
return Promise.all(uniques.map(async (field) => {
const query = {};
query[field] = data[field];
query.deleted = false;
return model.findOne(query);
}));
}
schema.statics.create = async function create(data) {
try {
const results = await checkIfDatabaseHasUsersWithSameNameAndEmail(data);
results.forEach((result) => {
console.log(`Here's the issue: ${JSON.stringify(result)}`);
throw new Error('Do something about it.');
});
const company = new this(data);
return company.save();
} catch (error) {
throw error;
}
};
关于JavaScript 异步/等待 : await is a reserved word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47044543/
如何在 azure (acs-engine) 中设置保留资源,无需 ssh 集群(仅使用 kubectl 命令)? 最佳答案 使用kubectl使用命令行工具来实现您的目标是不可行的,因为它仅向 ap
我正在尝试在 FreeBSD 机器上启动并运行 Artifactory。我安装了/usr/ports/devel/artifactory,似乎没有问题,然后运行“/usr/local/etc/rc.d
我经常遇到这样的情况,我知道 std::vector 在完成工作后将包含最大数量的元素;让我们说 10000。但是它可以很容易地包含更少的元素,例如 100。无法判断有多少元素得到 .emplaced
我正在做一些测试来测量标准容器在各种条件下的性能,我遇到了一些奇怪的事情。当我在 std::vector 的中间插入许多项目时,如果我首先使用要添加的元素的确切数量调用 reserve,我发现在大多数
这是我正在操作的更新查询。此处错误“set data = :updateValue”,数据是 Dynamo DB 的保留关键字。我想我应该在这里使用 update ExpressionAttribut
假设我们有一个创建并使用可能很大的vector的方法。 已知最大元素数为maxElems。 据我所知,C++ 11的标准实践是: vector fooVec; fooVec.reserve(maxEl
假设我必须编写一个 C 或 C++ 计算密集型函数,该函数有 2 个数组作为输入,一个数组作为输出。如果计算使用 2 个输入数组的频率高于它更新输出数组的频率,我最终会遇到输出数组很少被缓存的情况,因
所附代码包含对 std::vector::assign() 的三个调用。在第一次调用之前,调用 std::vector::reserve() 来分配适当的内存量,然后填充向量。对 allocate()
我认为我可以学习和改进编程的最好方法之一就是查看各种源代码。我正在查看 Blender 的源代码并注意到有关头文件的一些信息。大部分都用过#ifndef包括守卫,其中宏被双下划线包围(例如 __BME
我对这个保留 key 有点困惑,并且案例导致了错误。这是导致错误的示例代码。 var sample = { init: function() { this.sampleFunc
什么时候适合使用string::reserve?我意识到它用于为字符串保留一定数量的字符,但这有什么用呢?如果你过去了,字符串还会调整大小吗?它会提高效率吗? 最佳答案 它将“保留”指定的空间以减少重
有可能已预订或未预订的房间。预订时间为从(日期)到(日期)为止。人员按日期搜索房间:from_field 和til_field。正在尝试查找是否有可用房间。 SELECT rooms.* FROM r
这个问题在这里已经有了答案: Choice between vector::resize() and vector::reserve() (4 个答案) Why can't you access m
我正在尝试将其合并为一个查询。 预订系统有2个表,酒店和预订。 hotels(id, num_rooms) reservations(hotel_id, start_date, end_date) (
我必须为酒店设计和实现预订系统。我有 预订对象的数组列表 房间对象的数组列表 我想在指定日期“预订”房间。 预订没有日期的房间很容易,但日期部分却让事情变得复杂。我正在为此设计而苦苦挣扎,并且有信心朝
正在阅读来自 What are the rules about using an underscore in a c identifier 的答案我偶然发现了以下引文: From the 2003 C
我需要构建一个数据库和服务,我有需要交付给用户的资源。并且交付需要一些时间或需要用户做更多的工作。 这些是我存储信息的表。 Table - Description ________________
BitmapData 有一个名为 Reserved 的属性,它返回一个 32 位 signed integer。 Microsoft 的文档说不要使用此属性。如果我们不应该使用它;那它为什么在那里?它
让我们 std::vector myVec; myVec.reserve(10); 如果我只分配了 5 个元素,我怎样才能重新获得为其他 5 个元素分配的内存? 最佳答案 std::vector v
我正在尝试做这样的事情: #include #include int main() { int l[] = {1,2,3,4}; vector vi(4); copy(l,
我是一名优秀的程序员,十分优秀!