日期:2014-05-16 浏览次数:20575 次
现在这节就主要讨论插入,更新和删除文档。
插入:MongoDB学习笔记(一)中有讲 这里就简单复习一下
首先声明MongoDB中保存的是BSON (不是JSON)
db.collection_name.insert()
例
--------------------------------------------------
?
> data = { name:'hurry',title:'software developer',skills:['java','js']} ? ??
{
"name" : "hurry",
"title" : "software developer",
"skills" : [
"java",
"js"
]
}
> db.members.insert(data);
> db.members.findOne(); ??
{
"_id" : ObjectId("4e11a4f6c25a7683c014d968"),
"name" : "hurry",
"title" : "software developer",
"skills" : [
"java",
"js"
]
}
--------------------------------------------------
insert和save方法的区别
insert 不校验数据是否存在,直接插入,如果重复的话,报错.
save 插入重复数据,则改用update
例
---------------------------------------------------
?
> db.members.insert ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
function (obj, _allow_dot) {
? ? if (!obj) {
? ? ? ? throw "no object passed to insert!";
? ? }
? ? if (!_allow_dot) {
? ? ? ? this._validateForStorage(obj);
? ? }
? ? if (typeof obj._id == "undefined") {
? ? ? ? var tmp = obj;
? ? ? ? obj = {_id:new ObjectId};
? ? ? ? for (var key in tmp) {
? ? ? ? ? ? obj[key] = tmp[key];
? ? ? ? }
? ? }
? ? this._mongo.insert(this._fullName, obj);
? ? this._lastID = obj._id;
}
> db.members.save ?
function (obj) {
? ? if (obj == null || typeof obj == "undefined") {
? ? ? ? throw "can't save a null";
? ? }
? ? if (typeof obj._id == "undefined") {
? ? ? ? obj._id = new ObjectId;
? ? ? ? return this.insert(obj);
? ? } else {
? ? ? ? return this.update({_id:obj._id}, obj, true);
? ? }
}
?
---------------------------------------------------
删除:MongoDB学习笔记(一)中有讲 这里就简单复习一下
remove 方法 删除文档 ?function (t, justOne)?
参数1 条件?参数2 删除一个?boolean
如果要删除所有数据 ?有一个简单的方法 可以直接删除相应的集合?db.collection_name.drop() 这样的速度会更快
更新:
这里主要讲一下更新方法?MongoDB学习笔记(一)中有讲过最简单的更新 这里就不提了
使用修改器
$inc 增加值 (可以增加负数)只用于数字类型
-------------------------------------------------
?
> db.members.find() ? ? ?
{ "_id" : ObjectId("4e11b35ec25a7683c014d96a"), "name" : "hurry", "title" : "software developer", "skills" : [ "java", "js" ], "age" : 25 }
> db.members.update({'name':'hurry'},{'$inc':{'age':1}})
> db.members.find() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
{ "_id" : ObjectId("4e11b35ec25a7683c014d96a"), "name"