Skip to content

Commit d01b59f

Browse files
committed
Files changed according to the reviews
1 parent b9a63c9 commit d01b59f

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
- [x] part4 (intro)
3434
- [x] part4a
3535
- [ ] part4b
36-
- [ ] part4c
36+
- [x] part4c
3737
- [ ] part4d
3838

3939
## part5 - Testing React apps
@@ -108,5 +108,6 @@
108108
1. @CassivsGabriellis
109109
2. @mayconblopes
110110
3. @FrancisBernard34
111+
4. @jccallves
111112

112113
🇧🇷 **Keep in touch to join us!** 🇧🇷

src/content/4/ptbr/part4c.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ A solução existente salva cada nota na <i>coleção de notas</i> no banco de d
2121

2222
Como em todos os bancos de dados de documentos, podemos usar IDs de objeto no Mongo para fazer referência a documentos em outras coleções. Isso é semelhante ao uso de chaves estrangeiras em bancos de dados relacionais.
2323

24-
Tradicionalmente, os bancos de dados de documentos, como o Mongo, não oferecem suporte a <i>consultas de junção</i> que estão disponíveis em bancos de dados relacionais, usados ​​para agregar dados de várias tabelas. No entanto, a partir da versão 3.2, o Mongo oferece suporte a [consultas de agregação de pesquisa](https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/). Não veremos essa funcionalidade neste curso.
24+
Tradicionalmente, os bancos de dados de documentos, como o Mongo, não oferecem suporte a <i>join queries</i> que estão disponíveis em bancos de dados relacionais, usados ​​para agregar dados de várias tabelas. No entanto, a partir da versão 3.2, o Mongo oferece suporte a [consultas de agregação de pesquisa](https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/). Não veremos essa funcionalidade neste curso.
2525

2626
Se precisarmos de funcionalidade semelhante a consultas de junção, iremos implementá-la em nosso aplicativo fazendo várias consultas. Em certas situações, o Mongoose pode cuidar da junção e agregação de dados, o que dá a aparência de uma consulta de junção. No entanto, mesmo nessas situações, o Mongoose faz várias consultas ao banco de dados em segundo plano.
2727

2828
### Referências entre coleções
2929

30-
Se estivéssemos usando um banco de dados relacional, a nota conteria uma <i>chave de referência</i> para o usuário que a criou. Em bancos de dados de documentos, podemos fazer a mesma coisa.
30+
Se estivéssemos usando um banco de dados relacional, a nota conteria uma <i>chave estrangeira</i> para o usuário que a criou. Em bancos de dados de documentos, podemos fazer a mesma coisa.
3131

32-
Vamos supor que a coleção de <i>usuários</i> contém dois usuários:
32+
Vamos supor que a coleção <i>users</i> contém dois usuários:
3333

3434
```js
3535
[
@@ -44,7 +44,7 @@ Vamos supor que a coleção de <i>usuários</i> contém dois usuários:
4444
]
4545
```
4646

47-
A coleção <i>notas</i> contém três notas, que todas elas tem um campo de <i>usuário</i> que faz referência a um usuário na coleção de <i>usuários</i>:
47+
A coleção <i>notes</i> contém três notas, todas elas com um campo <i>user</i> que faz referência a um usuário na coleção <i>users</i>:
4848

4949
```js
5050
[
@@ -69,7 +69,7 @@ A coleção <i>notas</i> contém três notas, que todas elas tem um campo de <i>
6969
]
7070
```
7171

72-
Os bancos de dados de documentos não exigem que a chave estrangeira seja armazenada nos recursos de nota, ela <i>também</i> pode ser armazenada na coleção de usuários ou até mesmo em ambos:
72+
Os bancos de dados de documentos não exigem que a chave estrangeira seja armazenada nos recursos de nota, ela <i>também</i> pode ser armazenada na coleção users ou até mesmo em ambos:
7373

7474
```js
7575
[
@@ -88,7 +88,7 @@ Os bancos de dados de documentos não exigem que a chave estrangeira seja armaze
8888

8989
Como os usuários podem ter muitas notas, os IDs relacionados são armazenados em uma matriz no campo de <i>notas</i>.
9090

91-
Os bancos de dados de documentos também oferecem uma maneira radicalmente diferente de organizar os dados: em algumas situações, pode ser benéfico aninhar todo o array de notas como parte dos documentos na coleção de usuários:
91+
Os bancos de dados de documentos também oferecem uma maneira radicalmente diferente de organizar os dados: em algumas situações, pode ser benéfico aninhar todo o array de notas como parte dos documentos na coleção users:
9292

9393
```js
9494
[
@@ -128,7 +128,7 @@ Paradoxalmente, bancos de dados sem esquema como o Mongo exigem que os desenvolv
128128

129129
#### Esquema Mongoose para usuários
130130

131-
Neste caso, decidimos armazenar os ids das notas criadas pelo usuário no documento do usuário. Vamos definir o modelo para representar um usuário no arquivo <i>models/user.js</i>:
131+
Neste caso, decidimos armazenar os ids das notas criadas pelo usuário no documento <i>user</i>. Vamos definir o modelo para representar um usuário no arquivo <i>models/user.js</i>:
132132

133133
```js
134134
const mongoose = require('mongoose')
@@ -160,7 +160,7 @@ const User = mongoose.model('User', userSchema)
160160
module.exports = User
161161
```
162162

163-
Os ids das notas são armazenados no documento do usuário como uma matriz de ids do Mongo. A definição é a seguinte:
163+
Os ids das notas são armazenados no documento <i>user</i> como uma matriz de ids do Mongo. A definição é a seguinte:
164164

165165
```js
166166
{
@@ -169,7 +169,7 @@ Os ids das notas são armazenados no documento do usuário como uma matriz de id
169169
}
170170
```
171171

172-
O tipo do campo é <i>ObjectId</i> que faz referência a documentos de estilo de <i>nota</i>. O Mongo não sabe inerentemente que este é um campo que faz referência a notas, a sintaxe é puramente relacionada e definida pelo Mongoose.
172+
O tipo do campo é <i>ObjectId</i> que faz referência a documentos de estilo <i>Note</i>. O Mongo não sabe inerentemente que este é um campo que faz referência a notas, a sintaxe é puramente relacionada e definida pelo Mongoose.
173173

174174
Vamos expandir o esquema da nota definida no arquivo <i>models/note.js</i> de modo que que a nota contenha informações sobre o usuário que a criou:
175175

@@ -194,15 +194,15 @@ Em total contraste com as convenções dos bancos de dados relacionais, as <i>re
194194

195195
#### Criando usuários
196196

197-
Vamos implementar uma rota para criar novos usuários. Os usuários têm um <i>nome de usuário</i> exclusivo, um nome e algo chamado <i>passwordHash</i>. O hash da senha é a saída de uma [função hash unidirecional](https://en.wikipedia.org/wiki/Cryptographic_hash_function) aplicada à senha do usuário. Nunca é aconselhável armazenar senhas de texto simples não criptografadas no banco de dados!
197+
Vamos implementar uma rota para criar novos usuários. Os usuários têm um <i>username</i> exclusivo, um <i>name</i> e algo chamado <i>passwordHash</i>. O hash da senha é a saída de uma [função hash unidirecional](https://en.wikipedia.org/wiki/Cryptographic_hash_function) aplicada à senha do usuário. Nunca é aconselhável armazenar senhas de texto simples não criptografadas no banco de dados!
198198

199199
Vamos instalar o pacote [bcrypt](https://github.com/kelektiv/node.bcrypt.js) para gerar os hashes de senha:
200200

201201
```bash
202202
npm install bcrypt
203203
```
204204

205-
A criação de novos usuários ocorre em conformidade com as convenções RESTful discutidas na [part 3](/ptbr/part3/node_js_and_express#rest), fazendo uma solicitação HTTP POST para o caminho do <i>usuário</i>.
205+
A criação de novos usuários ocorre em conformidade com as convenções RESTful discutidas na [part 3](/ptbr/part3/node_js_and_express#rest), fazendo uma solicitação HTTP POST para o caminho <i>users</i>.
206206

207207
Vamos definir um <i>roteador</i> separado para lidar com usuários em um novo arquivo <i>controllers/users.js</i>. Vamos colocar o roteador em uso em nossa aplicação no arquivo <i>app.js</i>, para que ele trate as solicitações feitas à url <i>/api/users</i>:
208208

@@ -416,7 +416,7 @@ A lista fica assim:
416416

417417
![api do navegador/usuários mostra dados JSON com array de notas](../../images/4/9.png)
418418

419-
Você pode encontrar o código da nossa aplicação atual na íntegra na ramificação <i>part4-7</i> [deste repositório GitHub](https://github.com/fullstack-hy2020/part3-notes-backend/tree/part4-7).
419+
Você pode encontrar o código da nossa aplicação atual na íntegra na branch <i>part4-7</i> [deste repositório GitHub](https://github.com/fullstack-hy2020/part3-notes-backend/tree/part4-7).
420420

421421
#### Criando uma nova nota
422422

@@ -548,6 +548,6 @@ const noteSchema = new mongoose.Schema({
548548
})
549549
```
550550

551-
Você pode encontrar o código de nosso aplicativo atual na íntegra na ramificação <i>part4-8</i> [deste repositório GitHub](https://github.com/fullstack-hy2020/part3-notes-backend/tree/part4-8).
551+
Você pode encontrar o código da nossa aplicação atual na íntegra na ramificação <i>part4-8</i> [deste repositório GitHub](https://github.com/fullstack-hy2020/part3-notes-backend/tree/part4-8).
552552

553553
</div>

0 commit comments

Comments
 (0)