您可以使用 Mongoose 在 MongoDB 中创建 MySQL“连接”。它不是 MongoDB 标准,但它使在 MongoDB 中的开发有时变得容易得多。下面是两个简单的示例架构。
var BookSchema = new Schema({
title: {
type String
},
author: {
type: String
}
});
module.exports = mongoose.model('Book', BookSchema);
var UserSchema = new Schema({
username: {
type: String,
required: true
},
books: [{
type: String,
ref: 'Book'
}]
});
module.exports = mongoose.model('User', UserSchema);
在最后一个模式中,有一个“books”属性引用了书籍。您可以将对象 id 的字符串存储在数组中(而不是作为对象)。如果需要,您还可以存储对象 ID 而不是字符串。以下是用户的示例架构:
{
username: "Fcoder",
books: ["550adf3899fbe92a168d3051", "550adf3899fbe92a168d3052"]
}
查询您的MongoDB数据库时,您可以populate数据。您的查询将如下所示:
User.find({}).populate('books').exec(function(err, data) {
// callback
});
在数据里面,你会发现这样的东西:
{
username: "Fcoder",
books: [{
_id: ObjectId("550adf3899fbe92a168d3051"),
title 'Some title 1',
author: 'Some author 1'
}, {
_id: ObjectId("550adf3899fbe92a168d3052"),
title 'Some title 2',
author: 'Some author 2'
}
}