编写MongoDB插入语句

时间:2012-03-31 18:58:45

标签: php mongodb

我是PHP和MongoDB的新手,所以如果我得到你们的一些建议会很有帮助。我几个小时一直在弄乱这个循环,但无济于事。

这大致是我的意见:

while ($currentCol<$maxCols){
    $obj = array( $currentarray[0][$currentCol] => $currentarray[$currentRow][$currentCol]);
    $collection->insert($obj);
    echo $testing;
    echo "<br />";
    print_r ($obj);
    echo "<br />";
    $testing++;
    $currentCol++;
}

输出:

1
Array ( [President ] => George Washington [_id] => MongoId Object ( [$id] => 4f774d924f62e5ca37000160 ) ) 
2
Array ( [Wikipedia Entry] => http://en.wikipedia.org/wiki/George_Washington [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000161 ) ) 
3
Array ( [Took office ] => 30/04/1789 [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000162 ) ) 
4
Array ( [Left office ] => 4/03/1797 [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000163 ) ) 
5
Array ( [Party ] => Independent [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000164 ) ) 
6
Array ( [Portrait] => GeorgeWashington.jpg [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000165 ) ) 
7
Array ( [Thumbnail] => thmb_GeorgeWashington.jpg [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000166 ) ) 
8
Array ( [Home State] => Virginia [_id] => MongoId Object ( [$id] => 4f774d934f62e5ca37000167 ) ) 

我遇到的最后一个问题是实际上将所有内容组合成一个insert语句,而不是如上所示具有多个insert语句。所以,我没有生成8个插入语句,而是试图让它生成1个插入语句。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

MongoDB没有事务,并且插入是快速且轻量级的,因此没有特别的理由尝试为这么少的数量批量处理它们。虽然我之前没有使用它,但是你可以试用BatchInsert method