前面说了到数据库连接操作,请参考:mongodb 添加用户及权限设置详解
对数据库的操作:请参考:mongodb 数据库操作详解--创建,切换,删除
下面说一下,数据库表的插入操作
1,命令行下的insert操作
1
2
3
4
5
6
7
8
9
10
11
12
13
|
> 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数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
//$mongo = new Mongo("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]条数据