在sails-redis@0.10.0-rc3
查询关联模型时似乎表现得如预期。
首先,我创建了一个基本User
模型:
module.exports = {
attributes: {
name: 'string'
}
};
第二个ModelA
具有关联的模型User
:
module.exports = {
attributes: {
user: { model: 'User' }
}
};
然后我创建了一个小mocha
测试来检查关联查询并减少在其他地方引入的任何错误(例如在您的会话处理中):
var expect = require('chai').expect,
sails = require('sails'),
async = require('async');
describe('sails-mongo associations', function() {
before(function (done) {
sails.lift(function (err, sails) {
done(err);
});
});
after(function (done) {
sails.lower(function (err) {
done(err);
});
});
beforeEach(function(done) {
async.auto({
deleteUsers: function(done) {
User.destroy(done);
},
deleteModelA: function(done) {
ModelA.destroy(done);
}
}, function(err) {
done(err);
});
});
describe("#find", function() {
it("should allow to find a record using an associated model", function(done) {
User.create({ name: 'Test User' }).exec(function(err, user) {
expect(err).to.be.null;
expect(user).to.contain.key('id');
ModelA.create({ user: user.id }).exec(function(err, model) {
expect(err).to.be.null;
expect(model).to.contain.keys('id', 'user');
ModelA.find({ user: user }).populate('user').exec(function(err, model) {
expect(err).to.be.null;
expect(model).not.to.be.null.and.contain.key('user', user);
done();
});
});
});
});
});
});
mocha 测试成功完成,没有任何错误。这可能意味着(正如 Scott Gress 已经假设的那样)您的req.session.user
变量不包含您期望的值。到 mongos 的内部转换ObjectID
正在工作。
干杯,大卫