这里是我尝试的代码,我成功地获得了所有集合的名称,但当我搜索特定的字段时,它不起作用,也没有给我任何错误。
mongoose.connection.db.listCollections().toArray((error, collections) => {
collections.forEach( (collection) => {
var collectionName = mongoose.connection.db.collection(collection.name)
var count = collectionName.find({ "duck_name": { $exists: true }}).count()
if ( count > 0 ){
console.log(collection.name)
}
})
})
该代码没有错误,也没有警告。
mongoose.connection
返回本机mongodb连接,使用db.
前缀所做的一切与直接在mongodb控制台上所做的一切相同。
因此,当您使用本机连接描述符时,不要等待mongoose采取同样的行动。
在本地处理集合时,必须理解find
方法返回游标。
const db = mongoose.connection.db;
const collections = db.listCollections()
collections
.toArray((error, collections) => {
collections.foreach(async collection => {
const query = {"duck_name": { $exists: true }};
const count = await collection.find(query).count();
if (count === 0) return;
console.log('Found:', count, 'documents in collection:', collection.name);
const cursor = await collection.find(query);
while(await cursor.hasNext()) {
const document = await cursor.next();
console.log('document:', document._id);
}
})
});
const db = mongoose.connection.db;
const collections = db.listCollections()
collections
.toArray((error, collections) => {
collections.foreach(async collection => {
const query = {"duck_name": { $exists: true }};
const count = await collection.find(query).count();
if (count === 0) return;
console.log('Found:', count, 'documents in collection:', collection.name);
const documents = await collection.find(query).toArray();
for(const document of documents) {
console.log('document:', document._id);
}
})
});
文档存在,但筛选时不匹配! 您好,我在我的项目中发现了一个新错误。我正在使用nodejs后端和mongodb数据库。我正在成功插入文档。但有一个特定领域(“proje\u ortagi”)让我感到困惑。因为当我将文档过滤为“\u id”字段时。所有文件都在响应。但当我将文档过滤为“proje\u ortagi”时,有些文档并不是响应。为什么会发生这种情况?我检查“proje\u ortagi”值的
如何查询从mongodb MapReduce生成的集合中的特定字段? 要只检索输出集合中的lastname字段,应输入什么字段? 结果应为: {“lastname”:“Doe”} >版本() 版本:2.2.2 >db.test.save({first:“john”,last:“doe”}) >db.test.find() {“_id”:ObjectId(“50bc001A8E97247957C60
本文向大家介绍MongoDB中如何使用特定字符串更新字段的所有值,包括了MongoDB中如何使用特定字符串更新字段的所有值的使用技巧和注意事项,需要的朋友参考一下 要更新所有值,请将update()与multi:true一起使用。 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是更新字段“ SubjectName”的所有值的查询- 在f
我在MonoDB集合中有100k个文档,有20k个文档/记录。我想查找该特定文档使用的内存。 请帮助我在MongoDB控制台中查找内存大小(MB)。
本文向大家介绍MongoDB文档中如何检查特定字段是否存在,包括了MongoDB文档中如何检查特定字段是否存在的使用技巧和注意事项,需要的朋友参考一下 使用MongoDB $exists 检查特定字段是否存在。如果文档中不存在该字段,则需要使用find()显示相同的文档。 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是获取不包含特定字段
假设我有一个博客数据集,看起来像 在这里,每个文档代表一篇博客文章。每个博客帖子可以有多个评论,但只有一个我的一个用户。比如说,我必须找到某位作者的所有评论。对此有何疑问? 一种方法是释放评论,然后按comments.author分组,并推送comments.body。 然而,它可以做到没有聚合管道,只是通过使用查找?因为我认为我应该通过寻找来做到这一点。有人能帮我吗?