在 PHP 中操作 MongoDB 时,需要注意 PHP 和 MongoDB 之间的数据类型转换。以下是一些常见的类型转换:
PHP 的字符串(string)与 MongoDB 的字符串(BSON String):
PHP 的字符串可以直接映射到 MongoDB 的字符串。例如:
$document = [
"name" => "John Doe",
];
PHP 的整数(int)与 MongoDB 的整数(BSON Int32 或 BSON Int64):
PHP 的整数可以直接映射到 MongoDB 的整数。例如:
$document = [
"age" => 30,
];
如果需要指定整数类型,可以使用 MongoDB\BSON\Int32
或 MongoDB\BSON\Int64
类:
use MongoDB\BSON\Int32;
use MongoDB\BSON\Int64;
$document = [
"age" => new Int32(30),
"largeNumber" => new Int64(1234567890123456789),
];
PHP 的浮点数(float)与 MongoDB 的双精度浮点数(BSON Double):
PHP 的浮点数可以直接映射到 MongoDB 的双精度浮点数。例如:
$document = [
"price" => 123.45,
];
如果需要指定浮点数类型,可以使用 MongoDB\BSON\Double
类:
use MongoDB\BSON\Double;
$document = [
"price" => new Double(123.45),
];
PHP 的布尔值(bool)与 MongoDB 的布尔值(BSON Boolean):
PHP 的布尔值可以直接映射到 MongoDB 的布尔值。例如:
$document = [
"isActive" => true,
];
PHP 的数组(array)与 MongoDB 的文档(BSON Document):
PHP 的关联数组可以直接映射到 MongoDB 的文档。例如:
$document = [
"address" => [
"street" => "123 Main St",
"city" => "New York",
"state" => "NY",
],
];
对于索引数组,可以使用 MongoDB\BSON\Array
类:
use MongoDB\BSON\Array;
$document = [
"tags" => new Array(["tag1", "tag2", "tag3"]),
];
PHP 的日期时间(DateTime)与 MongoDB 的日期时间(BSON DateTime):
PHP 的 DateTime
对象可以直接映射到 MongoDB 的日期时间。例如:
$document = [
"createdAt" => new DateTime(),
];
如果需要指定日期时间类型,可以使用 MongoDB\BSON\UTCDateTime
类:
use MongoDB\BSON\UTCDateTime;
$document = [
"createdAt" => new UTCDateTime(),
];
PHP 的空值(null)与 MongoDB 的空值(BSON Null):
PHP 的 null
值可以直接映射到 MongoDB 的空值。例如:
$document = [
"optionalField" => null,
];
注意:在处理复杂数据结构时,可能需要使用其他 BSON 类型,如 MongoDB\BSON\ObjectId
、MongoDB\BSON\Binary
等。请参阅 PHP MongoDB 扩展文档 以获取更多信息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。