我有這個疑問MongoDB也選擇我「其中」
$collection->find(array('_id' => new MongoId($gameid)), array('players' => 1));
從這種結構
var gameSchema = new Schema({
name : String,
map : String,
mode : String,
playerLimit : Number,
players : [Player],
isActive : Boolean
});
它的工作,它選擇在選擇遊戲的所有玩家進行選擇。但由於某種原因,它也會返回_id。
Array
(
[_id] => MongoId Object
(
[$id] => 506f3c93e0b4791a86000001
)
[players] => Array
(
[0] => Array
(
[hero] => Neal, the demon
[state] => in lobby
[name] => Test Spiller
)
)
)
這迫使我用兩個循環,我怎樣才能使它看起來像
array(
[0] => Array
(
[hero] => Neal, the demon
[state] => in lobby
[name] => Test Spiller
)
)
遍歷。
$collection = new MongoCollection($db, 'games');
$trav = $collection->find(array('_id' => new MongoId($gameid)), array('players' => 1));
foreach($trav as $player) {
我無法使用$光標[ '玩家'] @我的foreach,這意味着我必須遍歷球員第一個循環內的數組。從來沒有,這是非常正常的mongodb嗎? – MartinElvar
你用什麼來循環結果?是的,當你使用'MongoCollection :: find()'時,這是預期的結果' – NullUserException
@NullUserException我已經更新了這個問題。 ;) – MartinElvar