我需要计算带有ObjectId字段的文档唯一_id。 我的文件如下:
因此,我需要用唯一的_id来计数这些文档,然后使用replaceOne方法(而不要触摸文档的_id,因为_id field is immutable)来替换每个文档。
我知道我可以通过以下几种方式实现它:
1)使用FindIterable的迭代器获取文档计数:
FindIterable findIterable = collection.find(Filters.eq("_id" (this is field), ... (but how I need to write value here if each document has unique _id?) ));
Iterator iterator = findIterable.iterator();
int count = 0;
while (iterator.hasNext()) {
iterator.next();
count++;
}
2)或简单地将变量创建为long count = collection.count(Document.parse("_id : (this is field) " + ...(but how I need to write value here if each document has unique _id?)));
请更正我,或者告诉我如何用唯一的_id正确地替换这些文件,然后对它们进行计数?感谢您的帮助。
答案 0 :(得分:0)
如@mtj所述,
ID在设计上是唯一的,因此唯一_id的数量等于 集合中文档的数量。换句话说:使用
<h1>Movies</h1> <ul> {% if user.is_authenticated %} {% for movie in movie_list %} <li>{{ movie.title }} - {{ movie.director }} - <button type="button">Add</button></li> {% empty %} <li>No movies yet.</li> {% endfor %} {% else %} {% for movie in movie_list %} <li>{{ movie.title }} - {{ movie.director }}</li> {% empty %} <li>No movies yet.</li> {% endfor %} {% endif %} </ul>