54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
---
|
||
id: 587d7fb7367417b2b2512c0b
|
||
title: 使用 model.find() 查询数据库
|
||
challengeType: 2
|
||
forumTopicId: 301543
|
||
dashedName: use-model-find-to-search-your-database
|
||
---
|
||
|
||
# --description--
|
||
|
||
我们尝试一种最简单的用法,`Model.find()` 接收一个查询 document(一个 JSON 对象)作为第一个参数,一个回调函数作为第二个参数, 它会返回由匹配到的数据组成的数组。 这个方法支持很多搜索选项, 详情请参阅文档。
|
||
|
||
# --instructions--
|
||
|
||
修改 `findPeopleByName` 函数使用 <code>Model.find() -\> [Person]</code> 查询所有给定名字的人。
|
||
|
||
请使用函数参数中的 `personName` 作为搜索条件。
|
||
|
||
# --hints--
|
||
|
||
应成功地找到所有符合条件的数据
|
||
|
||
```js
|
||
(getUserInput) =>
|
||
$.post(getUserInput('url') + '/_api/find-all-by-name', {
|
||
name: 'r@nd0mN4m3',
|
||
age: 24,
|
||
favoriteFoods: ['pizza']
|
||
}).then(
|
||
(data) => {
|
||
assert.isArray(data, 'the response should be an Array');
|
||
assert.equal(
|
||
data[0].name,
|
||
'r@nd0mN4m3',
|
||
'item.name is not what expected'
|
||
);
|
||
assert.equal(data[0].__v, 0, 'The item should be not previously edited');
|
||
},
|
||
(xhr) => {
|
||
throw new Error(xhr.responseText);
|
||
}
|
||
);
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
/**
|
||
Backend challenges don't need solutions,
|
||
because they would need to be tested against a full working project.
|
||
Please check our contributing guidelines to learn more.
|
||
*/
|
||
```
|