mongodb实用技巧总结
后端使用mongodb作为数据库,有时候会面对各种需求,google 太费时间,所以将自己使用过的一些技巧总结出来。
增
删
查
批量更新文档中数组对象里面的某个字段
文档示例
1
2
3
4
5
6
7
8{
_id: ObjectId('5f68710c4da61820f461e0b8')
name: 'zhangsan',
freinds:[
{name:'lisi',age:18},
{name:'xiaowang',age:20},
]
}目标
文档如上,假如现在我们需要更新
freinds
中小王(xiaowang)的年龄,但是同时,我们也不知道小王这个元素位于数组的下标索引。查询
1
2
3
4
5
6
7
8const person = await collection.findById('5f68710c4da61820f461e0b8');
const index = person.freinds.findIndex(f=>f.name==='xiaowang');
const freind = person.freinds[index];
freind.age = 22; // 修改年龄
// 如果是修改 freind 中原有的字段,这句可以不要
// 如果是新增字段,这句就必须加上,否则 save 会失效
person.freinds.splice(index,1,freind);
person.save();