如果有人有更多使用 Jens Seger 的 Laravel Mongo 包(https://github.com/jenssegers/laravel-mongodb)的经验,请帮助我。
我有 jenssegers mongodb 'eloquent' model Performer,我希望我的文档看起来像这样(简化,删除了一些不相关的字段)
{
"performer" : "Bruno Mars",
"search_terms" : ["bruno mars", "pop singer", "bruno"]
}
当我在 Mongo 命令行中插入它时,它看起来完全一样!完美的。
但是当我在我的控制器中这样做时:
$tags = ["bruno mars", "pop singer", "bruno"];
$performer = new Performer; //via Moloquent (Jens extension)
$performer->performer = "Bruno Mars";
$performer->search_terms = $tags;
$performer->save();
我得到的文件如下所示:
{
"performer" : "Bruno Mars",
"search_terms" : {"0" : "bruno mars", "1" : "pop singer", "2" : "bruno"}
}
为什么会这样?我对php数组做错了吗?我应该只创建一个字符串“数组”吗
$searchTermsAsString = "['Bruno Mars', 'pop singer']";
?
我的模型如下所示:
class Performer extends Moloquent
{
protected $collection = "search_terms";
protected $database = 'tb_dev';
protected $connection = 'mongodb2';
//THIS IS GHETTO FIX
public function __construct()
{
parent::__construct();
}
}
我也是 Mongodb 的新手,所以我可能会妄想
['item','item2','item3'] 不同于 {'1' : "item", '2' : "item2", '3' : "item3"}
如果我理解正确,一个是 ARRAY,另一个是 OBJECT(因为它在 Javascript 和 json 中)