数据库 
首页 > 数据库 > 浏览文章

mongodb 命令行下及php中insert数据详解

(编辑:jimmy 日期: 2024/11/9 浏览:3 次 )

前面说了到数据库连接操作,请参考:mongodb 添加用户及权限设置详解
对数据库的操作:请参考:mongodb 数据库操作详解--创建,切换,删除
下面说一下,数据库表的插入操作
1,命令行下的insert操作

> use test;    #切换到test数据库 
switched to db test 
 
> document=({"title" : "linux命令", "auther" : "tank" });   #定义了一个变量 
{ "title" : "linux命令", "auther" : "tank" } 
> db.test.insert(document);     #插入变量 
> db.test.find();       #查看插入的数据 
{ "_id" : ObjectId("53c8fc1cf062ac30ee8b9d2d"), "title" : "linux命令", "auther" : "tank" } 
 
> db.test.insert({"title" : "51yip", "auther" : "tank" });  #直接插入数据 
> db.test.find();       #查看 
{ "_id" : ObjectId("53c8fc1cf062ac30ee8b9d2d"), "title" : "linux命令", "auther" : "tank" } 
{ "_id" : ObjectId("53c8f6fff062ac30ee8b9d2e"), "title" : "51yip", "auther" : "tank" } 

2,利用php扩展insert数据

<"mongodb://192.168.10.202:27017"); //链接远程数据库 
$mongo = new Mongo();          //链接远程数据库 
$curDB = $mongo->selectDB("test");    //选择要操作的数据库,如果不存在,则自动创建 
$collection = $curDB->selectCollection("test"); //选中一个集合(理解为 table),如果不存在,则自动创建 
//$collection->drop();       //清空集合 testCollection 
 
$count = $collection->count();     //查看集合中的数据量 
echo "insert前集合中有[".$count."]条数据<Br>";  //这里的二条数据主命令行下插入的。 
 
echo "<br>********** mongodb php insert 插入 *************<br>"; 
 
$obj = array("title"=>"围城","auther"=>"钱钟书"); 
$rel = $collection->insert($obj); 
var_dump($rel);         //打印插入后的结果是bool型的 
echo "<Br>新增对象的id:".$obj['_id']."<Br>"; 
 
$obj = array("title"=>"朝发白帝城","auther"=>"李白"); 
$rel = $collection->insert($obj,array('safe'=>true)); //safe 表示是否返回操作结果信息,返回的信息为 array 
print_r($rel);         //插入后的结果是数组 
echo "<Br>新增对象的id:".$obj['_id']."<Br>";; 
 
$count = $collection->count();     //查看集合中的数据量 
echo "insert后集合中有[".$count."]条数据<Br>"; 
 
?> 

 
运行结果: 
insert前集合中有[2]条数据 
 
********** mongodb php insert 插入 ************* 
bool(true) 
新增对象的id:53c908c87f8b9ad7218b4568 
Array ( [n] => 0 [connectionId] => 4 [err] => [ok] => 1 ) 
新增对象的id:53c908c87f8b9ad7218b4569 
insert后集合中有[4]条数据 

上一篇:mongodb replica set 添加删除节点的2种方法
下一篇:mongodb 数据库操作--备份 还原 导出 导入
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。