push 或 addToSet 不适用于 express、node 和 mongoose(获取响应 { ok: 0, n: 0, nModified: 0 })
push or addToSet is not working with express, node and mongoose(getting response { ok: 0, n: 0, nModified: 0 })
我正在尝试使用 push 和 addToSet 更新文档,但它没有更新任何数据!
这是我的架构
var attendance_list = new Schema({
"username":{
type:String,
unique:true
}});
这是我尝试更新的方式!
attedanceAtDb.update({"username":"test"},{
$addToSet:{
"pushtest":"test"
}
}
,(err,result)=>{
if(err){
reject(err);
}else{
resolve(result);
}
})
这是回复
{ ok: 0, n: 0, nModified: 0 }
在此先感谢您的帮助:)
因为 $addToSet 参数中需要数组格式。尝试如下:
attedanceAtDb.findOneAndUpdate({"username":"test"},{
$addToSet:{
"pushtest": ["test"]
}
},{upsert: true, new: true}
,(err,result)=>{
if(err){
reject(err);
}else{
resolve(result);
}
})
你的架构应该是这样的,
var attendance_list = new Schema({
username: { type: String, unique: true },
pushtest: []
});
希望对您有所帮助...
我正在尝试使用 push 和 addToSet 更新文档,但它没有更新任何数据!
这是我的架构
var attendance_list = new Schema({
"username":{
type:String,
unique:true
}});
这是我尝试更新的方式!
attedanceAtDb.update({"username":"test"},{
$addToSet:{
"pushtest":"test"
}
}
,(err,result)=>{
if(err){
reject(err);
}else{
resolve(result);
}
})
这是回复
{ ok: 0, n: 0, nModified: 0 }
在此先感谢您的帮助:)
因为 $addToSet 参数中需要数组格式。尝试如下:
attedanceAtDb.findOneAndUpdate({"username":"test"},{
$addToSet:{
"pushtest": ["test"]
}
},{upsert: true, new: true}
,(err,result)=>{
if(err){
reject(err);
}else{
resolve(result);
}
})
你的架构应该是这样的,
var attendance_list = new Schema({
username: { type: String, unique: true },
pushtest: []
});
希望对您有所帮助...