0

这些天我开始学习节点并且我使用 Express js 框架。

我从 Christophe Coenraets 那里找到了这个很棒的教程,里面有我需要的所有东西,因为我在 Backbone js 方面有一点经验。

在 Node js 中最让我困惑的是使用数据库。(我只熟悉 MYSQL,因为我使用的是 PHP)

例如在本教程中,在这个文件中

https://github.com/ccoenraets/nodecellar/blob/master/routes/wines.js

他第一次使用“populateDB”函数来填充数据库,当应用程序启动时,一些可怕的数据,

现在因为我使用的是 PHP,所以我要做什么,我在那里做同样的事情,我想创建数据库结构或类似 shell 的东西,这样我就可以在我的脑海里有一个图像来表示数据,例如我看到了一些例子是“mongoose”模块“mongo db 对象建模”,其中有一些类似“Schema”或类似的东西。

有人能解释一下在 Node js 中使用数据库的正确逻辑吗,在创建应用程序时如何开始,流程和内容?开始工作并从一开始就不知道数据库的外观有点令人困惑。

很多!:)

4

1 回答 1

1

像 mongodb 这样的 NoSQL 数据库的问题在于,您不再拥有传统的列、行和表。我们现在有了字段、文档和集合。请参阅SQL 到 MongoDB 映射图

Mongoose 是一个框架,它提供基于模式的解决方案来对应用程序数据进行建模。它不是必需的,但确实为您提供了具有类似于 SQL 模式的预定义模式和模型的选项,而不是直接将 JSON 插入集合中。请参阅当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式?更多细节。

例如:

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

var Schema = mongoose.Schema;

var catSchema = new Schema({ //cat schema
  name:  String,
  age: Number
});

var Cat = mongoose.model('Cat', catSchema); //cat model

var kitty = new Cat({ name: 'Zildjian', age: 5 }); //kitty is a cat
kitty.save(function (err) {
  if (err) // ...
  console.log('Error saving to the database');
});

...现在您的 mongodb 中保存了一只小猫

所以开始:下载并安装 mongod 和 mongodb,npm install mongoose,通过 mongoose 创建你的模式和模型。

要从数据库中查询/查找/检索文档/行,请使用 model.find(),例如:

// named Zildjian and at least 5
Cat.find({ name: 'Zildjian', age: { $gte: 5 }});

更多详细信息,请参见model.find API

于 2013-10-23T23:38:27.840 回答