Mongoose populate
может помочь вам получить необходимые функциональные возможности.Вы можете узнать больше о populate
здесь .Вы можете сделать это следующим образом:
Создать UserActivitySchema
var mongoose = require('mongoose');
var UserActivitySchema = mongoose.Schema({
message_count:{
type: Number,
default: 0
}
});
module.exports = mongoose.model('UserActivity', UserActivitySchema, 'UserActivity');
Теперь создайте UserSchema
вот так
var mongoose = require('mongoose');
const UserActivitySchema = require('./useractivity')
//User Schema
var UserSchema = new mongoose.Schema({
username: {
type: String
},
activity: {
type: mongoose.Schema.Types.ObjectId,
ref: 'UserActivity',
}
});
var User = module.exports = mongoose.model('User', UserSchema, 'User');
Теперь, пока вы сохраняете пользователя, сохраняйте _id
из UserActivity
в activity
Когда вы делаете запрос для получения пользователя, вы можете сделать это
User.findOne({_id: 5ab38941ffbb87124c673862})
.populate('UserActivity')
.exec(function(err, user) {
// do stuff with returned user
});