Rav*_*gal 4 mongodb mongodb-query
我有一个票务系统,其中每个票证 ID 都有多个版本/文档。当票证的最后一个文档状态=已关闭时,该票证被视为已关闭。我需要找出所有开放的门票。以下是 SQL 中的查询:
select distinct(id) from tickets where id not in (select id from tickets where status = 'closed');
Run Code Online (Sandbox Code Playgroud)
MongoDB 中对应的查询是什么?
以下是一份票据文件的样本。
{
"id" : 100,
"timestamp": 1427863300000,
"status" : "open",
"description": "abc",
"comments": "pqr"
"assigned_to": "xyz"
}
Run Code Online (Sandbox Code Playgroud)
可能有多个文档具有相同的票证 ID。这样做是为了维护票证的历史记录。该应用程序允许用户以历史模式查看票证详细信息。当具有相同 id 但状态为“已关闭”的文档插入到数据库中时,将考虑该票证。
{
"id" : 100,
"timestamp": 1429200480000,
"status" : "closed",
"description": "abc",
"comments": "pqr"
"assigned_to": "xyz"
}
Run Code Online (Sandbox Code Playgroud)
我想查询在任何文档中都没有 status=close 的不同工单 ID。
你需要使用该db.collection.distinct()方法。要检索“状态”不是“已关闭”的文档的“id”,您需要使用$ne运算符。
db.collection.distinct( 'id', { 'status': { '$ne': 'closed' } } )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10658 次 |
| 最近记录: |