您的位置:首页 > 数据库 > Mongodb

php mongodb (一)—— CURD

2015-06-30 16:11 696 查看
创建: insert 、save

客户端:

[code]post = 
    {
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : new Date()
    }
db.blog.insert(post);
// insert亦可接受数组作为参数  批量的插入文档 当插入文档数目较大时可以显著的提高效率
// db.blog.insert([{"_id" : 0},{"_id" : 1},{"_id" : 2}]);
// db.blog.save(post);


php:

[code]$post = array("title"=>"My Blog Post","content"=>"Here's my blog post.","date"=>date());
// 假设已经连库
$db->$collection->insert($post);

// $db->$collection->save($post);


读取: findOne 、find

客户端:

[code]db.blog.findOne('$criteria','$fields')
// db.blog.find('$criteria','$fields');


php:

[code]$criteria = array('_id'=>'admin');
$fileds = array('_id'=>false,hobby=>1); // true / 1 ,false / 0
$db->$collection->findOne($criteria,$fields);
// $db->$collection->find(...);


更新 update

客户端:

[code]// 修改变量post
post.comments = [];
// update('$criteria','new_object'); // new_object可能是替换的文档或者包含修改器
db.blog.update({title : "My Blog Post"}, post);
// db.blog.update({"url" : "www.example.com"},{"$inc" : {"pageViews" : 1}}) //访问数增加1
// db.blog.update({"_id" : id},{"$set" : {"favorite book" : "War and Peace"}})
// db.blog.update({"_id" : id},{"$unset" : {"favorite book" : 1}})
// db.blog.posts.update({"title" : "A blog post"},{"$push" : {"comments" : {}}})
// 为数组添加多个元素
// db.blog.posts.update({},{"$push" : {"hourly" : {"$each" : [562,776,123]}}})
// 更新是包含N个条件的数组
// db.movies.update({"genre" : "horror"},{"$push" : {"top10" : {"$each" : [{name : "Nightmare on Elm Street", "rating" : 6.6},{name : "Saw", "rating" : 4.3}],"$slice" : -10,"$sort" : {"rating" : -1}}}})
// 保证不添加重复的元素
// db.papers.update({"authors cited" : {"$ne" : "Richie"}},{"$push" : {"author cited" : "Richie"}});
// db.papers.update({"_id" : id},{"$addToSet" : {"emails" : "joe@example.com"}});


php :

[code]$db->$collection->update($criteria,$data); // 此处略去若干行 ==


删除 remove 修改器 $pull

客户端:

[code]db.blog.remove({title : "My Blog Post"});
// 如果没有添加参数,则删除集合中的所有文档

// 创建字段时为其复制  并且其后都不在改变
db.users.update({},{"$setOnInsert" : {"created" : new Date()}},true);

// 用修改器$pull删除元素
// db.lists.insert({"todo" : ["dishes","laundry","dry cleaning"]})
// db.lists.update({},{"$pull" : {"todo" : "laundry"}});


php:

[code]$db->$collection->remove($criteria);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: