gpt4 book ai didi

node.js - 您可以使用 javascript API 在 GridFS 上使用查找查询吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:47 24 4
gpt4 key购买 nike

据我了解,当您将某些内容输入到 GridFS 中时,它会在后台进入 2 个不同的集合中。一种用于原始数据 block ,另一种用于元数据文件。

据我从 MongoDB 文档中了解到,您只能使用 id 或名称从 GridFS 检索文档。

var gs = new mongodb.GridStore(db, "test.png", "w", {
"content_type": "image/png",
"metadata":{
"author": "Daniel"
},
"chunk_size": 1024*4

});

如果我想从 GridFS 获取文档子集怎么办?例如,如果我想要所有 GridStore 都具有:

metadata: {author: "Daniel"}

为什么我不能使用标准 mongo 查询 { field: somevalue } 并以这种方式检索文档?

有人知道如何做到这一点吗?我在 node.js 上使用 javascript API。

最佳答案

您可以像查询任何其他集合一样查询db.files集合:

db.collection('fs.files')
.find({ 'metadata.author' : 'Daniel' })
.toArray(function(err, files) {
if (err) throw err;
files.forEach(function(file) {
var gs = new mongodb.GridStore(db, file._id, 'r');
...
});
});

尽管您可能想要使用 async.each 而不是普通的 forEach或任何其他 async.* 方法。

关于node.js - 您可以使用 javascript API 在 GridFS 上使用查找查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20379415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com