आप कॉल कर रहे हैं विधि Pull(string name, MongoDB.Bson.BsonValue value) और डॉक्स के अनुसार यह
और आप { "Identifier", productId } . प्रदान करते हैं मूल्य के रूप में। मुझे लगता है कि मोंगो को वह सटीक नहीं मिल रहा है मूल्य।
Pull . के दूसरे अधिभार का उपयोग करने का प्रयास करें सटीक मान के बजाय क्वेरी-शर्त के साथ
var update = Update.Pull("Products", Query.EQ("Identifier", productId));
अपडेट करें
चूंकि आप Category . का उल्लेख करते हैं इकाई इसलिए मैं Query.EQ . के बजाय लैम्ब्डा का उपयोग करने का सुझाव दे सकता हूं :
var pull = Update<Category>.Pull(x => x.Products, builder =>
builder.Where(q => q.Identifier == productId));