[英]sails.js update or add new row
我正在使用sails.js开始一个项目,我对此有些困惑。
我有这样的结构
[
{
"logins": {
"1": {
"login time": "2016-04-02T11:40:06.731Z"
}
}
"username": "test",
"password": "test",
"createdAt": "2016-04-02T11:40:06.731Z",
"updatedAt": "2016-04-02T11:40:06.731Z",
"id": "56ffaf9692bcf108169ef7c8"
}
]
现在,当用户再次登录时,理想情况下,我希望数据看起来像这样
[
{
"logins": {
"1": {
"login time": "2016-04-01T11:40:06.731Z"
},
"2": {
"login time": "2016-04-02T11:40:06.731Z"
}
}
"username": "test",
"password": "test",
"createdAt": "2016-04-01T11:40:06.731Z",
"updatedAt": "2016-04-01T11:40:06.731Z",
"id": "56ffaf9692bcf108169ef7c8"
}
]
但是,对于我来说,我无法确定如何为用户“更新”或“插入”“登录”下的新行。
创建第一个记录很好,到目前为止,我能想到的最好的办法是将登录的当前值读取到缓冲区中,然后重新插入所有值。
看起来很笨拙。 有谁知道风帆是否有某种内置方法来支持我要实现的目标?
我将您的“ Logins”参数更改为array。 比起您在更新时可以使用$ push。 水线仅支持$ set操作,因此,如果要执行此操作,则需要使用.native(),如下所示:
Model.native(function(error,collection){
collection.update(
{_id:YOURID}, // where condition
{$push:{logins:new Date()}}, // push new value to array
{}, // options
function(error,result){} // callback
)
})
要查看您可以使用本机做什么,请参阅Node.js MongoDB驱动程序API-集合
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.