मैं इस उदाहरण को पढ़ लिया है:जाओ केवल एक निर्दिष्ट क्षेत्र
एक का चयन करें, ख उपयोगकर्ताओं से कहां उम्र = 33 db.users.find ({उम्र: 33}, {एक: 1, बी: 1})
लेकिन मैं इसे सी # में अनुवाद नहीं कर सकता। क्या कोई मेरी मदद कर सकता है?
मैं इस उदाहरण को पढ़ लिया है:जाओ केवल एक निर्दिष्ट क्षेत्र
एक का चयन करें, ख उपयोगकर्ताओं से कहां उम्र = 33 db.users.find ({उम्र: 33}, {एक: 1, बी: 1})
लेकिन मैं इसे सी # में अनुवाद नहीं कर सकता। क्या कोई मेरी मदद कर सकता है?
आप इसे, SetFields
MongoCursor
की विधि वर्ग का उपयोग कर पूर्ण उदाहरण नीचे कर सकते हैं:
var server = MongoServer.Create(connectionString);
var db = _server.GetDatabase("dbName");
db.GetCollection("users");
var cursor = Photos.FindAs<DocType>(Query.EQ("age", 33));
cursor.SetFields(Fields.Include("a", "b"));
var items = cursor.ToList();
मैं नई सी # चालक (2,2)
var mongoClient = new MongoClient(""mongodb://127.0.0.1:27017"");
var database = mongoClient.GetDatabase("databaseName");
IMongoCollection<Users> _collection = database.GetCollection<Users>("Users");
var condition = Builders<Users>.Filter.Eq(p => p.age, 33);
var fields = Builders<Users>.Projection.Include(p => p.a).Include(p => p.b);
var results= _collection.Find(condition).Project<Users>(fields).ToList().AsQueryable();
//create user class
//(not sure how your class looks like)
public class User
{
[DataMember(Name = "age")]
public int age;
[DataMember(Name = "a")]
public string int a;
[DataMember(Name = "b")]
public string int b;
}
//then you can use LINQ easily
var server = MongoServer.Create(connectionString);
var db = _server.GetDatabase("dbName");
var usersCollection = server.GetCollection<User>("users");
var filteredCollection = usersCollection.AsQueryable().Where(x=> x.age < 33).Where(x=> x.a != null).Contains(x=> x.b != null);
का उपयोग कर नीचे आपकी क्वेरी का अनुवाद किया है आप अज्ञात वर्ग
public class User
{
public int age;
public string a;
public string b;
}
var collection = db.GetCollection<User>("Users");
var results = collection.Find(Builders<User>.Filter.Eq(user => user.age, 33))
.Project(u => new { u.a, u.b }).ToList();
का उपयोग कर सकते हैं 0
@HeoDatHades - उपर्युक्त समाधान 'FindAsync' के साथ काम नहीं कर रहा है। क्या आप मुझे 'फ़ील्ड' और 'FindAsync' दोनों के साथ काम करने के लिए सुझाव दे सकते हैं। – prog1011
@ prog1011 मैंने अभी तक 'FindAsync' का उपयोग नहीं किया है, लेकिन मुझे यह आलेख https://www.codementor.io/pmbanugo/working-with-mongodb-in-net-2-retrieving-mrlbeanm5 मिला है। आप और पढ़ सकते हैं और अधिक पता लगा सकते हैं। –