大家好,这是我第一次在这里提出问题,
我是MEAN堆栈的新手,现在我正在尝试使用它开发一个应用程序。据我所知,在mongodb中,一个Schema(数据库)可以有一个或多个集合(Tables(?)),当我使用mongoose时,我定义了一个Song模型和一个Artist模型:
对于宋:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var songSchema = new Schema({
songName: { type: String },
songArtist: [{type : Schema.Types.ObjectId, ref : 'Artist'}]
});
module.exports = mongoose.model('Song', songSchema);
艺术家:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var artistSchema = new Schema({
artistName: { type: String }
});
module.exports = mongoose.model('Artist', artistSchema);
我的app.js看起来像这样:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/song', function(err, res) {
if(err) throw err;
console.log('Connected to Database');
});
var models = require('./models/song')(app, mongoose);
正如我所理解和看到的那样,问题在于,我想创建一个数据库/模式,并且在那里创建一个数据库/模式,并且有两个集合:
SongDatabase:
--- Song
--- Artist
在这种情况下我应该如何使用我的猫鼬模型/控制器和我的app.js?在此先感谢:)
答案 0 :(得分:0)
我解决了所有疑虑,看看this tutorial,正如你在这里看到的那样,他们在一个数据库中实现了两个集合(我的内心关注)。一旦连接到数据库并对所需的集合执行发布,在本例中为线程或帖子,它将创建集合到mongodb。
答案 1 :(得分:0)
问题是你的连接字符串是mongodb:// localhost / song
歌曲成为您的数据库,在Song中您应该能够看到两个集合 - 宋 - ArtistS
可行的解决方案:刷新数据库,全部删除。开始清理并检查您的应用程序正在做什么。使用DB的另一个名称