mongodb のエントリにコメントを追加しようとしています。
これは私がこれまでに持っているものです
$mongo = new Mongo();
$db = $mongo->comedy;
$collection = $db->cartoons;
$obj = array(
"title" => "football", array('comment' => 'my comment here'),
"author" => "joe"
);
$collection->insert($obj);
このエントリを生成する
{
"_id": ObjectId("5059fd31ba76883414000001"),
"title": "football",
"0": {
"comment": "my comment here"
},
"author": "joe"
}
私の質問は、これがエントリ「フットボール」の下にコメントをネストする最良の方法ですか? または私はそれについて別の方法で行くべきですか?
この部分は正しくないようです
"0": {
"comment": "my comment here"
}
以下の例から更新
すると、これを実行するとエラーが発生しましたFatal error: Call to undefined method MongoDB::update()
$mongo = new Mongo();
$db = $mongo->comedy;
$collection = $db->cartoons;
$mongo->comedy->update(array('title' => 'football'), array(
'$push' => array('comments' => array('content' => 'Yo!', 'author' => $user_id))
));
次に、次のように実行すると
$mongo = new Mongo();
$db = $mongo->comedy;
$collection = $db->cartoons;
$obj = array(
'$set' => array("title" => "football", "author" => "joe"),
'$push' => array('comments' => array('content' => 'Yo!'))
);
私は得る
{
"_id": ObjectId("505a2493ba76883c08000007"),
"title": "football",
"0": {
"$push": {
"comments": {
"content": "Yo!"
}
}
},
"author": "joe"
}