MongoDB InsertOne中的点表示法
从PHP在MongoDB(4.0.5)中执行InsertOne时,我遇到以下异常:MongoDB InsertOne中的点表示法,mongodb,insert,mongodb4.0,Mongodb,Insert,Mongodb4.0,从PHP在MongoDB(4.0.5)中执行InsertOne时,我遇到以下异常: [0]检测到字段路径“context.trace.1.args.2”的PHP类型不受支持:7 根据这一点,允许在更新命令中使用点符号。然而,文档以$set作为上下文来讨论这一事实 在我看来,一个简单的更新不允许使用点符号。(只是猜测) 有人能解释一下这里的细微差别/边缘情况吗 ====根据要求跟进: 文档是由Monolog创建的。 InsertOne中使用的文档如下所示: Array ( [message
[0]检测到字段路径“context.trace.1.args.2”的PHP类型不受支持:7
根据这一点,允许在更新命令中使用点符号。然而,文档以$set
作为上下文来讨论这一事实
在我看来,一个简单的更新不允许使用点符号。(只是猜测)
有人能解释一下这里的细微差别/边缘情况吗
====根据要求跟进:
文档是由Monolog创建的。
InsertOne
中使用的文档如下所示:
Array
(
[message] => file_get_contents( ...obfuscated... ): failed to open stream: Connection timed out
[context] => Array
(
[code] => 2
[file] => ...obfuscated...
[line] => 127
[trace] => Array
(
[0] => Array
(
[function] => handleError
[class] => Whoops\Run
[type] => ->
...obfuscated...
)
[1] => Array
(
[function] => file_get_contents
[args] => Array
(
[0] => https:// ...obfuscated...
[1] =>
[2] => 0
)
)
[2] => Array
(
[file] => ...obfuscated... .php
[line] => 127
[function] => file_get_contents
[args] => Array
(
[0] => https:// ...obfuscated...
)
)
[3] => Array
(
[file] => ...obfuscated... .php
[line] => 91
[args] => Array
(
[0] => ...obfuscated... .php
)
[function] => require_once
)
)
[notThrown] => 1
[type] => Whoops\Exception\ErrorException
)
[level] => 500
[level_name] => CRITICAL
[channel] => ...obfuscated...
[datetime] => MongoDB\BSON\UTCDateTime Object
(
[milliseconds] => 1551951362000
)
[extra] => Array
(
[cli] => Array
(
[user] => ...obfuscated...
[script] => ...obfuscated... .php
[argv] => Array
(
[0] => ...obfuscated...
)
)
[server_name] => ...obfuscated...
[server_ip] => ...obfuscated...
[process_id] => 3273
[memory_peak_usage] => 5.75 MB
[memory_usage] => 5.75 MB
[git] => Array
(
[ ...obfuscated... ] => Array
(
[branch] => ...obfuscated...
[commit] => ...obfuscated...
)
[publisher] => Array
(
[branch] => ...obfuscated...
[commit] => ...obfuscated...
)
)
)
[server_name] => ...obfuscated...
[_id] => MongoDB\BSON\ObjectId Object
(
[oid] => 5c81e6029caba40cc96bd831
)
)
我怀疑尼尔·伦已经回答了这个问题
但现在我想知道这是否是独白的一个缺点。以及采取什么方法来解决此问题。请显示您试图执行的查询。从该路径中索引位置的使用情况来看,我认为您试图“推”到数组中
insertOne()
实际上是“创建文档”,因此您不能使用“虚线路径名”。@deceze我跟踪了您的请求,请显示您试图执行的查询。通过使用该路径中的索引位置,我认为您试图“推”到数组中insertOne()
实际上是“创建文档”,因此您不能使用“虚线路径名”。@deceze我已经跟进了您的请求