《增删改》
// 添加
db.users.save({name: ‘zhangsan’, age: 25, sex: true});
添加的数据的数据列,没有固定,根据添加的数据为准
// 修改
db.users.update({age: 25}, {$set: {name: ‘changeName’}}, false, true);
相当于:update users set name = ‘changeName’ where age = 25;
db.users.update({name: ‘Lisi’}, {$inc: {age: 50}}, false, true);
相当于:update users set age = age + 50 where name = ‘Lisi’;
db.users.update({name: ‘Lisi’}, {inc:age:50,set: {name: ‘hoho’}}, false, true);
相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;
// 删除
db.users.remove({age: 132});
// 查询修改删除
db.users.findAndModify({
query: {age: {$gte: 25}},
sort: {age: -1},
update: {set:name:′a2′,inc: {age: 2}},
remove: true
});
db.runCommand({ findandmodify : “users”,
query: {age: {$gte: 25}},
sort: {age: -1},
update: {set:name:′a2′,inc: {age: 2}},
remove: true
});
update 或 remove 其中一个是必须的参数; 其他参数可选。
参数
|
详解
|
默认值
|
query
|
查询过滤条件
|
{}
|
sort
|
如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作
|
{}
|
remove
|
若为true,被选中对象将在返回前被删除
|
N/A
|
update
|
一个修改器对象
|
N/A
|
new
|
若为true,将返回修改后的对象而不是原始对象。在删除操作中,该参数被忽略。
|
false
|
fields
|
参见Retrieving a Subset of Fields (1.5.0+)
|
All fields
|
upsert
|
创建新对象若查询结果为空。示例 (1.5.4+)
|
false
|
发表回复