【发布时间】:2015-10-18 01:45:03
【问题描述】:
我正在使用 Node.js 和 mongoose(mongodb) 开发一个应用程序。除了model population,还有什么方法可以从find方法中的其他集合中获取信息? population 与 _id 一起使用,我在另一个集合中的 id 不能重复,我不能有一对多的关系。
例如,每个用户都有不止一本书。在书籍架构中_id 应该是重复的,并且其中一堆具有相同的用户 ID。但我不想要这个。我想比较其他领域。
我在 Mongoose 文档中阅读了 document#population,但我无法理解:
http://mongoosejs.com/docs/api.html#document_Document-populate
我不敢相信这种简单的需求,Mongoose 没有一个好的 api。
这是我的架构:
var mongoose = require('mongoose');
var Users = require('../users');
var schema = new mongoose.Schema({
book_name: String,
book_publisher: String
});
var book = mongoose.model('book', schema);
module.exports = book;
和
var mongoose = require('mongoose');
var Book = require('../book');
var Schema = mongoose.Schema;
var schema = new mongoose.Schema({
user_name: String,
books: [{ type: Schema.Types.ObjectId, ref: 'Book' }]
});
var users = mongoose.model('users', schema);
module.exports = users;
【问题讨论】:
-
你能发布你的架构吗?
-
@RodrigoReis:我更新了我的问题。我的问题是属于每个用户的书籍应该有相同的用户_id? _id 可以重复吗?
-
我已经在另一个问题上帮助你了 :)
标签: javascript node.js mongodb mongoose