我試圖從mongodb的控制檯使它,但它不工作,因爲我不能像afrray [0] afrray [1] afrray [2]等mongodb的PHP的字符串浮動值
How to change array elements陣列工作
現在,我嘗試從PHP這樣做,但我看到基地(僅適用於零(((
什麼我錯了嗎?
$out = $collection->update(
array("type" => 'chair'), array('$set' => array('vmfqvfjptu' => floatval('vmfqvfjptu'),
'versions.0.content.vmfqvfjptu'=> floatval('versions.0.content.vmfqvfjptu'),
'versions.1.content.vmfqvfjptu'=> floatval('versions.1.content.vmfqvfjptu'),
'versions.2.content.vmfqvfjptu'=> floatval('versions.2.content.vmfqvfjptu'),
'versions.3.content.vmfqvfjptu'=> floatval('versions.3.content.vmfqvfjptu')
)),
array("multiple" => true)
);
如何從databa發送字符串se near floatval('versions.0.content.vmfqvfjptu')?
這個腳本在mongo控制檯中運行良好。有4個腳本。每個人都從數據庫中獲取字符串,將字符串轉換爲浮點並將浮點保存到數據庫(對於集合中的每個文檔)。
db.documents.find({ 'fwtweaeeba' : {$exists : true}}).forEach(function(obj) {
obj.fwtweaeeba = parseFloat(obj.fwtweaeeba);
db.documents.save(obj); });
db.documents.find({ 'versions.0.content.fwtweaeeba' : {$exists : true}}).forEach(function(obj) {
obj.versions[0].content.fwtweaeeba = parseFloat(obj.versions[0].content.fwtweaeeba);
db.documents.save(obj); });
db.documents.find({ 'versions.1.content.fwtweaeeba' : {$exists : true}}).forEach(function(obj) {
obj.versions[1].content.fwtweaeeba = parseFloat(obj.versions[1].content.fwtweaeeba);
db.documents.save(obj); });
db.documents.find({ 'versions.2.content.fwtweaeeba' : {$exists : true}}).forEach(function(obj) {
obj.versions[2].content.fwtweaeeba = parseFloat(obj.versions[2].content.fwtweaeeba);
db.documents.save(obj); });
我需要做用PHP一樣的,因爲我每個文檔轉換中有很多領域...
它的工作原理!!!!謝謝你,Sammaye!你真的幫助了我!
foreach($db->documents->find(array("type" => "chair")) as $document){
// my_dump($document[_id]);
$db->documents->update(
array('_id' => $document[_id]),
array(
'$set' => array(
'versions.0.content.axdducvoxb' => (float)$document['versions'][0]['content']['axdducvoxb'],
'versions.1.content.axdducvoxb' => (float)$document['versions'][1]['content']['axdducvoxb'],
'versions.2.content.axdducvoxb' => (float)$document['versions'][2]['content']['axdducvoxb'],
'axdducvoxb' => (float)$document['axdducvoxb']
)
),
array('$multi' => true)
);
}
'floatval('versions.0.content.vmfqvfjptu')'參考?它不會引用JS中的任何東西(shell) – Sammaye