Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取集合上的最后N个项目_C#_Mongodb - Fatal编程技术网

C# 获取集合上的最后N个项目

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

我在试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: '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