当前位置: 首页>>代码示例>>C++>>正文


C++ BSONObj::getDJString方法代码示例

本文整理汇总了C++中BSONObj::getDJString方法的典型用法代码示例。如果您正苦于以下问题:C++ BSONObj::getDJString方法的具体用法?C++ BSONObj::getDJString怎么用?C++ BSONObj::getDJString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BSONObj的用法示例。


在下文中一共展示了BSONObj::getDJString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testBSON

		void testBSON()
		{
			cout << "testBSON" << endl;
			BSONObj* obj = new BSONObj();
			// Add in
			obj->add("int", 1);
			obj->add("string", (const char*)"test");
			obj->add("string2", (const char*)"t");
			obj->add("long", (__int64) 10000000000L);
			obj->add("double", 1.1);

			BSONObj rel;
			rel.add("innertext", (char*)"inner text");
			obj->add("rel1", rel);

			BSONArrayObj array;
			BSONObj b1;
			b1.add("b1", "test");
			array.add(b1);
			BSONObj b2;
			b2.add("b1", "test2");
			array.add(b2);
			obj->add("array", array);

			TEST_ASSERT(obj->has("int"));
			TEST_ASSERT(obj->getInt("int") == 1);

			TEST_ASSERT(strcmp(obj->getString("string").c_str(), "test") == 0);
			TEST_ASSERT(obj->getDJString("string").compare(djondb::string("test", 4)) == 0);
			TEST_ASSERT(obj->getDJString("string2").compare(djondb::string("e", 1)) != 0);

			TEST_ASSERT(obj->has("long"));
			cout << "long: " << obj->getLong("long") << endl;
			TEST_ASSERT(obj->getLong("long") == 10000000000L);

			TEST_ASSERT(obj->has("double"));
			TEST_ASSERT(obj->getDouble("double") == 1.1);

			TEST_ASSERT(obj->has("rel1"));
			TEST_ASSERT(strcmp(obj->getBSON("rel1")->getString("innertext").c_str(), "inner text") == 0);
			
			TEST_ASSERT(obj->has("array"));
			BSONArrayObj* arrayR = obj->getBSONArray("array");
			TEST_ASSERT(arrayR != NULL);
			TEST_ASSERT(arrayR->length() == 2);

			BSONObj* el1 = arrayR->get(0);
			TEST_ASSERT(el1 != NULL);
			
			BSONObj* el2 = arrayR->get(1);
			TEST_ASSERT(el2 != NULL);

			// test a non existant attribute
			try {
				obj->getLong("xx");
				TEST_FAIL("The getLong should throw an exception");
			} catch (BSONException e) {
			}

			try {
				obj->getString("xxx");
				TEST_FAIL("The getString should throw an exception");
			} catch (BSONException e) {
			}
			delete obj;
		}
开发者ID:neoecos,项目名称:djondb,代码行数:66,代码来源:main.cpp


注:本文中的BSONObj::getDJString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。