MongoDB::execute是否在内部使用mongos eval()



PHP Mongo驱动程序允许我在数据库中执行代码。这在分片环境中有效吗?我知道,用eval()评估代码在分片环境中是不起作用的。

$db->execute(
    new MongoCode('SomeFunc(o)', array(
        'o' => array('name' => 'test') 
    ))
);

简而言之:没有

答案更长:MongoCode用于向MongoDB发送JavaScript代码,其方式与您通过MongoShell输入的方式非常相似。因此,MongoDB有责任运行所提供的代码——它不在PHP引擎内运行。

更新:我错过了你关于分片环境的问题中的那一部分,这完全改变了简短的答案。)

最新更新