如何使用 PHP 获取 MongoID 的字符串值?

发布于 2024-12-11 12:13:33 字数 411 浏览 0 评论 0原文

完成插入后,我想使用 json_encode() 将对象传递给客户端。问题是,_id 值不包括在内。

$widget = array('text' => 'Some text');

$this->mongo->db->insert($widget);


If I echo $widget['_id'] the string value gets displays on the screen, but I want to do something like this:

$widget['widgetId'] = $widget['_id']->id;


So I can do json_encode() and include the widget id:

echo json_encode($widget);

After doing an insert I want to pass the object to the client using json_encode(). The problem is, the _id value is not included.

$widget = array('text' => 'Some text');

$this->mongo->db->insert($widget);


If I echo $widget['_id'] the string value gets displays on the screen, but I want to do something like this:

$widget['widgetId'] = $widget['_id']->id;


So I can do json_encode() and include the widget id:

echo json_encode($widget);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

怀中猫帐中妖 2024-12-18 12:13:33

相信这就是你所追求的。

$widget['_id']->{'$id'};

像这样的东西。

$widget = array('text' => 'Some text');
$this->mongo->db->insert($widget);
$widget['widgetId'] = $widget['_id']->{'$id'};
echo json_encode($widget);

Believe this is what you're after.

$widget['_id']->{'$id'};

Something like this.

$widget = array('text' => 'Some text');
$this->mongo->db->insert($widget);
$widget['widgetId'] = $widget['_id']->{'$id'};
echo json_encode($widget);
不爱素颜 2024-12-18 12:13:33

您还可以使用:

(string)$widget['_id']

You can also use:

(string)$widget['_id']
路还长,别太狂 2024-12-18 12:13:33

正确的方法是使用 MongoDB 中的 ObjectId:

function getMongodbIDString($objectId){
    $objectId = new \MongoDB\BSON\ObjectId($objectId);
    return $objectId->jsonSerialize()['$oid'];
}

并且不要像 (string) $row['_id']$row->_id->{'$oid' 那样转换 objectId }

correct way is use ObjectId from MongoDB:

function getMongodbIDString($objectId){
    $objectId = new \MongoDB\BSON\ObjectId($objectId);
    return $objectId->jsonSerialize()['$oid'];
}

and do not cast the objectId like (string) $row['_id'] or $row->_id->{'$oid'}

放我走吧 2024-12-18 12:13:33

我用过类似的东西:

(string)$widget->_id

I used something similar:

(string)$widget->_id
晨敛清荷 2024-12-18 12:13:33

我使用了类似的 if object:

$widget->_id->{'$oid'}

or

(string)$widget->_id

or array :

$widget['id']->{'$oid'}
(string)$widget['_id']

I used something similar if object:

$widget->_id->{'$oid'}

or

(string)$widget->_id

or array :

$widget['id']->{'$oid'}
(string)$widget['_id']
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文