C# 获取集合上的最后N个项目
我在试mongo db。我需要从集合中获取最后5或10个元素 我需要在mongodb中使用该查询:C# 获取集合上的最后N个项目,c#,mongodb,C#,Mongodb,我在试mongo db。我需要从集合中获取最后5或10个元素 我需要在mongodb中使用该查询: SELECT * FROM records ORDER BY id DESC LIMIT 10 如果可能的话 SELECT * FROM records WHERE value = 'myValue' ORDER BY id DESC LIMIT 10 在c#和mongodb中如何实现这一点?假设您的记录中有一个索引dt字段: db.collection.find({value: 'myVal
SELECT * FROM records ORDER BY id DESC LIMIT 10
如果可能的话
SELECT * FROM records WHERE value = 'myValue' ORDER BY id DESC LIMIT 10
在c#和mongodb中如何实现这一点?假设您的记录中有一个索引dt字段:
db.collection.find({value: 'myValue'}).sort({dt: -1})
如果没有dt字段,您还可以执行以下操作:
db.collection.find({value: 'myValue'}).sort({_id: -1})
假设您的记录中有索引的dt字段:
db.collection.find({value: 'myValue'}).sort({dt: -1})
如果没有dt字段,您还可以执行以下操作:
db.collection.find({value: 'myValue'}).sort({_id: -1})
Mongo Shell:
/* 1 */ db.MyCollection.find({}).sort({ _id: -1 }).limit(10)
/* 2 */ db.MyCollection.find({ value: 'myValue' }).sort({ _id: -1 }).limit(10)
C#Mongo驱动程序:
MongoClient mongoClient = new MongoClient(mongoConnString);
IMongoDatabase mdb = mongoClient.GetDatabase(dbName);
IMongoCollection<MyCollection> coll = mdb.GetCollection<MyCollection>(myCollection);
var sort = Builders<MyCollection>.Sort.Descending("_id");
var filter1 = Builders<MyCollection>.Filter.Empty;
var filter2 = Builders<MyCollection>.Filter.Eq("value", "myValue");
/* 1 */ var results = coll.Find(filter1).Sort(sort).Limit(10);
/* 2 */ var results = coll.Find(filter2).Sort(sort).Limit(10);
MongoClient-MongoClient=新的MongoClient(mongoconstring);
IMongoDatabase mdb=mongoClient.GetDatabase(dbName);
IMongoCollection coll=mdb.GetCollection(myCollection);
var sort=Builders.sort.Descending(“_id”);
var filter1=Builders.Filter.Empty;
var filter2=Builders.Filter.Eq(“value”、“myValue”);
/*1*/var results=coll.Find(filter1).Sort(Sort).Limit(10);
/*2*/var results=coll.Find(filter2).Sort(Sort).Limit(10);
注意,我假设SQL查询中的id
引用了一个标识列。Mongo的等价物是\u id
Mongo Shell:
/* 1 */ db.MyCollection.find({}).sort({ _id: -1 }).limit(10)
/* 2 */ db.MyCollection.find({ value: 'myValue' }).sort({ _id: -1 }).limit(10)
C#Mongo驱动程序:
MongoClient mongoClient = new MongoClient(mongoConnString);
IMongoDatabase mdb = mongoClient.GetDatabase(dbName);
IMongoCollection<MyCollection> coll = mdb.GetCollection<MyCollection>(myCollection);
var sort = Builders<MyCollection>.Sort.Descending("_id");
var filter1 = Builders<MyCollection>.Filter.Empty;
var filter2 = Builders<MyCollection>.Filter.Eq("value", "myValue");
/* 1 */ var results = coll.Find(filter1).Sort(sort).Limit(10);
/* 2 */ var results = coll.Find(filter2).Sort(sort).Limit(10);
MongoClient-MongoClient=新的MongoClient(mongoconstring);
IMongoDatabase mdb=mongoClient.GetDatabase(dbName);
IMongoCollection coll=mdb.GetCollection(myCollection);
var sort=Builders.sort.Descending(“_id”);
var filter1=Builders.Filter.Empty;
var filter2=Builders.Filter.Eq(“value”、“myValue”);
/*1*/var results=coll.Find(filter1).Sort(Sort).Limit(10);
/*2*/var results=coll.Find(filter2).Sort(Sort).Limit(10);
注意,我假设SQL查询中的id
引用了一个标识列。Mongo等价物是\u id