我如何在 d 语言中找到 mongodb 集合中最后修改的数据,并使用 find({"..." : ".. "} ) 过滤

how do I in d-languge find the last modified data in mongodb collection, filtered with find({"..." : ".. "} )

我正在使用 D 语言进行编码,并尝试使用 D 语言从文档数组中提取最后修改的文档(不在控制台中 !!!!) 查询是这样的:

Collection ct = mongo.web.cell;
auto cell = ct.find({"room": 4 }).sort( {'_id': -1 } ).limit(1);

而dub给出的错误是

source/app.d(166,58): Error: found : when expecting ; following statement
source/app.d(166,61): Error: found } when expecting ; following statement
source/app.d(166,62): Error: found ) instead of statement

当更改到达房间时,将插入单元格数据,而不是更新 我正在使用 Visual Studio 代码,最新版本

有什么想法吗?

我推断你正在使用mondo,如果你阅读了库的文档和来自here and here的一些代码,下面是你需要做的:

Mongo mongo = new Mongo("mongodb://yourhost");
Collection ct = mongo.web.cell;

auto q = new Query(); // create a new query object
q.conditions["room"] = 4; // specify the query condition

auto s = new BsonObject("_id", "-1"); // creat a new bson object
q.sorts(s.dup); // use sorts not sort

ct.find(q).each!writeln; // find the results

当您使用排序时,您将使用 std.algorithm.sorting 而不是 mondo 的排序功能。

希望有用