MongoDB使用测试

根据官网提供的使用案例进行学习,下面是我的测试代码

<?php 
class Mongo_Driver{

	public function insertOne(){

		$user = array(
				'first_name' => 'MongoDB',
				'last_name' => 'Fan',
				'tags' => array('developer','user')
			);
		// Configuration
		$dbhost = 'localhost';
		$dbname = 'test';

		// Connect to test database
		$m = new Mongo("mongodb://$dbhost");
		$db = $m->$dbname;

		// Get the users collection
		$c_users = $db->users;

		// Insert this new document into the users collection
		$c_users->save($user);
	}

	public function selectOne(){
		// Configuration
		$dbhost = 'localhost';
		$dbname = 'test';

		// Connect to test database
		$m = new Mongo("mongodb://$dbhost");
		$db = $m->$dbname;

		// Get the users collection
		$c_users = $db->users;

		// Find the user with first_name 'MongoDB' and last_name 'Fan'
		$user = array(
			'first_name' => 'MongoDB',
			'last_name' => 'Fan'
		);

		$user = $c_users->findOne($user);
		var_dump($user);
	}

	public function selectByLimit(){
		// Configuration
		$dbhost = 'localhost';
		$dbname = 'test';

		// Connect to test database
		$m = new Mongo("mongodb://$dbhost");
		$db = $m->$dbname;

		// Get the users collection
		$c_users = $db->users;

		// Find the user with first_name 'MongoDB' and last_name 'Fan'
		$user = array(
			'first_name' => 'MongoDB',
			'last_name' => 'Fan'
		);

		$result = $c_users->find($user)->limit(1);
		var_dump($result);
	}

	public function selectByMongoId(){
		// Configuration
		$dbhost = 'localhost';
		$dbname = 'test';

		// Connect to test database
		$m = new Mongo("mongodb://$dbhost");
		$db = $m->$dbname;

		// Get the users collection
		$c_users = $db->users;

		// Find the user with first_name 'MongoDB' and last_name 'Fan'
		$user = array(
			'first_name' => 'MongoDB',
			'last_name' => 'Fan'
		);
		// This is only a string, this is NOT a MongoId
		$mongoid = '5488ff0f2a7cdfb80f000000';

		// You will not find anything by searching by string alone
		$nothing = $c_users->find(array('_id' => $mongoid));
		echo $nothing->count(); // This should echo 0

		// THIS is how you find something by MongoId
		$realmongoid = new MongoId($mongoid);

		// Pass the actual instance of the MongoId object to the query
		$something = $c_users->find(array('_id' => $realmongoid));
		echo $something->count(); // This should echo 1
	}

	public function selectByWhere(){
		// Configuration
		$dbhost = 'localhost';
		$dbname = 'test';

		// Connect to test database
		$m = new Mongo("mongodb://$dbhost");
		$db = $m->$dbname;

		// Get the users collection
		$c_users = $db->users;

		// Instantiate dates for the range of the query
		$start = new MongoDate(strtotime('1971-01-01 00:00:00'));
		$end = new MongoDate(strtotime('2014-12-31 23:59:59'));

		// Now find documents with create_date between 1971 and 1999
		$c_users->find(array("create_date" => array('$gt' => $start, '$lte' => $end)));
	}

	public function selectByQuery(){
		// Connect to test database on localhost
		$m = new Mongo('mongodb://localhost');

		$db = $m->test;

		// Get the users collection
		$c_things = $db->things;

		// Get a count of documents in the things collection
		$count_things = $c_things->count();
		echo "There are $count_things documents in the things collection.\n";

		// How many have the boolean property set to true?
		$count_things = $c_things->count(array('boolean' => true));
		echo "There are $count_things true documents in the things collection.\n";

		// How many have a string property set, regardless of value?
		$count_things = $c_things->count(array('string' => array('$exists' => true)));
		echo "There are $count_things documents with strings in the things collection.\n";

		// How many have a list property with array values including "one" and "two"?
		$count_things = $c_things->count(array('list' => array('$in' => array('one','two'))));
		echo "There are $count_things documents with 'one' and 'two' as list array values in the things collection.\n";

		// How many have a list property with array values not including 'three'?
		$count_things = $c_things->count(array('list' => array('$nin' => array('three'))));
		echo "There are $count_things documents not including the string 'three' in list array values in the things collection.\n";

		// How many have include 'ever was' in the string property? Using a regular expression:
		$regex = new MongoRegex("/ever was/");
		$count_things = $c_things->count(array('string' => $regex));
		echo "There are $count_things documents including the string 'ever was' in string property in the things collection.\n";
	}

	public function returningDocument(){

		// Connect to test database on localhost
		$m = new Mongo('mongodb://localhost');

		$db = $m->test;

		// Get the users collection
		$c_things = $db->things;

		// Find a document that includes 'ever was' in the string property using a regular expression:
		$regex = new MongoRegex("/ever was/");
		$ever_was = $c_things->findOne(array('string' => $regex));
		var_dump($ever_was);
	}

	public function selectByIndex(){

		// Connect to test database on localhost
		$m = new Mongo('mongodb://localhost');

		$db = $m->test;

		// Get the users collection
		$c_things = $db->things;

	}
}

$mongo = new Mongo_Driver();

//var_dump($mongo->insertOne());
var_dump($mongo->returningDocument());
//end

转载请注明:小Y » MongoDB使用测试

赞 (1) 评论 (0) 分享 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址