我是nosql的新手,我想在mongodb中创建一个集合。当我看到教程都在教授插入时。我想知道我们是否可以创建具有特定数据类型的集合。例如,当我们在sql中创建一个表时,我们将为其提供特定的数据类型,那么我们可以在nosql中创建一个类似的集合吗?
示例(SQL)
create table test(
id primary key auto increment,
date_en date
number int);
请帮我解决这个问题
谢谢,
答案 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的集合不会强制执行文档结构。这种灵活性有助于将文档映射到实体即使数据有很大的变化,每个文档也可以匹配所代表实体的数据字段。但实际上,集合中的文档具有相似的结构。“