如何在 join sails js 中添加另一个字段
How to add another field in a join sails js
大家好,刚刚开始使用 Sails js 和 mongoDB,我有点困惑。
我有两个具有多对多关系的模型:
User.js
module.exports = {
attributes: {
username: 'STRING',
password: 'STRING',
doors:{
collection: 'door',
via: 'users',
}
}
};
和Door.js
module.exports = {
attributes: {
name: 'STRING',
users:{
collection: 'user',
via: 'doors'
}
}
};
这很好用,我可以创建一个用户和一扇门,并将它们相互关联起来。但是我想在连接中有另一个字段,一个到期日期(假设用户只能在特定日期之前访问特定门)。
我该怎么做?
您需要创建多对多 through 关联。但是,到目前为止,它们还没有得到官方支持。
不过您可以手动执行此操作。
现在,在这个例子中,有时可能更难获得用户的所有门,反之亦然,因为您必须进行第二次查找。但是,您可以使用此设置执行以下操作:
UserDoors
.find()
.where({expires:{'<':new Date()}})
.populate('doors')
.populate('users')
.exec(/*....*/)
您的模特
User.js
module.exports = {
attributes: {
username: 'STRING',
password: 'STRING',
doors:{
collection: 'userDoors',
via: 'users',
}
}
};
userDoors.js
module.exports = {
attributes: {
doors:{
model: 'door'
},
users:{
model: 'user'
},
expires: 'datetime'
}
};
and Door.js
module.exports = {
attributes: {
name: 'STRING',
users:{
collection: 'userDoors',
via: 'doors'
}
}
};
google 搜索 sails.js many to many through
也可以帮助您找到所需的内容。
大家好,刚刚开始使用 Sails js 和 mongoDB,我有点困惑。
我有两个具有多对多关系的模型:
User.js
module.exports = {
attributes: {
username: 'STRING',
password: 'STRING',
doors:{
collection: 'door',
via: 'users',
}
}
};
和Door.js
module.exports = {
attributes: {
name: 'STRING',
users:{
collection: 'user',
via: 'doors'
}
}
};
这很好用,我可以创建一个用户和一扇门,并将它们相互关联起来。但是我想在连接中有另一个字段,一个到期日期(假设用户只能在特定日期之前访问特定门)。
我该怎么做?
您需要创建多对多 through 关联。但是,到目前为止,它们还没有得到官方支持。
不过您可以手动执行此操作。
现在,在这个例子中,有时可能更难获得用户的所有门,反之亦然,因为您必须进行第二次查找。但是,您可以使用此设置执行以下操作:
UserDoors
.find()
.where({expires:{'<':new Date()}})
.populate('doors')
.populate('users')
.exec(/*....*/)
您的模特
User.js
module.exports = {
attributes: {
username: 'STRING',
password: 'STRING',
doors:{
collection: 'userDoors',
via: 'users',
}
}
};
userDoors.js
module.exports = {
attributes: {
doors:{
model: 'door'
},
users:{
model: 'user'
},
expires: 'datetime'
}
};
and Door.js
module.exports = {
attributes: {
name: 'STRING',
users:{
collection: 'userDoors',
via: 'doors'
}
}
};
google 搜索 sails.js many to many through
也可以帮助您找到所需的内容。