本文整理汇总了C++中mongo::BSONElement::_numberLong方法的典型用法代码示例。如果您正苦于以下问题:C++ BSONElement::_numberLong方法的具体用法?C++ BSONElement::_numberLong怎么用?C++ BSONElement::_numberLong使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mongo::BSONElement
的用法示例。
在下文中一共展示了BSONElement::_numberLong方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return_string
Datum convert_element<std::string>(PG_FUNCTION_ARGS, const mongo::BSONElement e)
{
std::stringstream ss;
switch(e.type())
{
case mongo::String:
case mongo::DBRef:
case mongo::Symbol:
return return_string(std::string(e.valuestr(), e.valuestrsize()-1));
case mongo::NumberDouble:
ss << e._numberDouble();
break;
case mongo::jstOID:
ss << e.__oid().str();
break;
case mongo::Bool:
ss << std::boolalpha << e.boolean();
break;
case mongo::Date:
return return_string(
to_iso_extended_string(
boost::posix_time::ptime(
boost::gregorian::date(1970, 1, 1),
boost::posix_time::milliseconds(e.date().millis)
)
)
);
case mongo::RegEx:
ss << e.regex();
break;
case mongo::NumberInt:
ss << e._numberInt();
break;
case mongo::NumberLong:
ss << e._numberLong();
break;
default:
throw convertion_error("text");
}
return return_string(ss.str());
}
示例2: convertion_error
Datum convert_element<int64>(PG_FUNCTION_ARGS, const mongo::BSONElement e)
{
switch(e.type())
{
case mongo::NumberLong:
PG_RETURN_INT64(e._numberLong());
// this conversion has to be imlicitly allowedm, otherwise defining object form json would be pain int the ass
case mongo::NumberInt:
PG_RETURN_INT64(static_cast<int64>(e._numberInt()));
default:
throw convertion_error("int8");
}
}