我正在使用php7.x和Mongodb 3.6.5。而且我想作为json键添加到mongodb的“我的IP”中。
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->update(
['m_model' => $_POST['mid']],
['$set' => ['statistics.play.' . $_SERVER['REMOTE_ADDR'] =>
['time'=>$connectionTime]]],
['multi' => false, 'upsert' => false]
);
$conn -> executeBulkWrite('db.tempName', $bulk);
我正在使用以下代码,它将成为一些json文件。
此外,我也不想将点替换为任何单词或哈希(md5等。)。
答案 0 :(得分:0)
很遗憾,您无法执行此操作,因为The field names cannot contain the dot (.) character.
(See here)。
由于您不想用可接受的字符替换点,因此实现此目的的唯一方法是针对以下内容更新方案:
{
statistics:
{
...,
play:[{ip:"1.1.1.1",time:"asdf"}] // <== Note the array
}
}
此外,将来查询play.time(任何数组条目中的时间)比play.1_1_1_1.time,play.1_1_1_2.time等更容易