如何在mongodb中创建集合并指定字段的数据类型

时间:2016-12-27 05:16:16

标签: mongodb nosql

我是nosql的新手,我想在mongodb中创建一个集合。当我看到教程都在教授插入时。我想知道我们是否可以创建具有特定数据类型的集合。例如,当我们在sql中创建一个表时,我们将为其提供特定的数据类型,那么我们可以在nosql中创建一个类似的集合吗?

示例(SQL)

create table test(
id primary key auto increment,
date_en date
number int);

请帮我解决这个问题

谢谢,

2 个答案:

答案 0 :(得分:0)

实际上 MongoDB 无架构数据库,因为MongoDB是一个JSON样式的数据存储。存储在数据库中的文档可以具有不同的字段集,每个字段具有不同的类型。

但这并不意味着没有办法定义架构。您可以根据项目需要定义模式。您可以使用一些工具来定义您的架构,例如 mongoose

这里我展示了使用mongoose定义模式的过程。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var mySchema= new Schema({
  title:  String,
  date_en: Date,
  number: Number
}); 
module.exports = mongoose.model('collectionname', mySchema);

OR

var mySchema= new Schema({
  title:  { type: String},
  date_en: { type: Date, default: Date.now },
  number: {type: Number}
}); 

 module.exports = mongoose.model('collectionname', mySchema);

NB:根据您的收藏名称将创建表名称,而猫鼬会自动创建_id 唯一无需为id

定义

有关详细信息,请访问Mongoose site

答案 1 :(得分:0)

我想在mongo db中无法定义模式。 请参阅mongo官方文档中的链接。

https://docs.mongodb.com/manual/core/data-modeling-introduction/

“MongoDB中的数据具有灵活的模式。与SQL数据库不同,您必须在插入数据之前确定并声明表格的模式,MongoDB的集合不会强制执行文档结构。这种灵活性有助于将文档映射到实体即使数据有很大的变化,每个文档也可以匹配所代表实体的数据字段。但实际上,集合中的文档具有相似的结构。“