{
"id" : 6,
"canshu" : [
{
"a" : 1,
"b" : "111"
},
{
"a" : 1,
"b" : "222"
},
{
"a" : 1,
"b" : "333"
}
]
}
如上,要删除‘canshu’中a=1的数组对象,mongodb中支持这种操作
db.getCollection('test').update({id:6},{$pull:{'canshu':{'a':1}}})
结果:
{
"id" : 6,
"canshu" : [
{
"a" : 2,
"b" : "222"
},
{
"a" : 3,
"b" : "333"
}
]
}
在model或者控制器中直接用update加上这种语法,没报错,但是数据库里没有变动,应该如何去写呢?
扫码关注w3ctech微信公众号
Model 具体代码是怎么写的呢?
this.where({id: 6}).update({$pull:{'canshu':{'a':1}}})
试试这样呢?
@老六 不行呢!之前就这样试着写的。
好,我试下
我试了下,没报错啊。麻烦提供下详细的错误信息。
@老六 说错了说错了。没有语法报错,数据库里没有更新!
https://github.com/75team/thinkjs2-demos/tree/master/model-mongo2.1 你下这个代码测试下
我试了是没问题的
@老六 谢谢啊,我测试下!
@老六 真的可以!太棒了。一定是我之前写错了
共收到10条回复