46 grams of sodium = 2 moles of sodium
If you look at the periodic table, you will see that sodium has an average atomic mass of 23. Another way of saying it is that sodium has a molar mass of 23 grams per mole. That means that one mole of sodium atoms has a mass of 23 grams. If you have 46 grams, you have 2 moles.
If you look at other elements, you see a different number of grams per mole. For example, chlorine has a molar mass of about 35.5 grams per mole while iron has a molar mass of about 55.8 grams per mole.
You mention "contains x atoms of sodium" but that isn't necessary to answer your question. If you were asked about the number of atoms, you need to remember that one mole of any element has
One last thing. Keep in mind that a mole is just an amount. It is like saying "a pair" or "a dozen". Those terms are just a way to say a certain amount and saying "a mole" is just a way to say