Fold is a general technique to manipulate state in an immutable iterative/recursive way. If you want to experiment with it in C# it's the Aggregate LINQ extension method.
In F# Map.add is actually add/replace, so you don't need to branch based on whether the key is contained.
type node = {myFloat:float; data1:int; data2:int;}
type nodesCollection = {metaData:int; nodes:Map<float,node>}
let nodeColl = { metaData = 5; nodes = Map.empty }
let results : (node * int * int * int * int) List = []
let nodes = List.map (fun (n, _, _, _, _) -> n) results
let res = List.fold (fun map e -> Map.add e.myFloat e map) nodeColl.nodes nodes