我在node.js中使用MongoClient,没有像mongoose等其他模块。
1)现在我通过从API中检索信息来插入信息,JSON.parse-ing然后将其存储在数据库db.collection.insert(object)
中。现在这个工作完美,这里是我正在检索的数据的简短预览:
{"hatenames":
{"id":6239,
"name":"hatenames",
"stat1":659,
"stat2":30,
"stat3":1414693
}
}
如果我做得对,是什么让我有疑问的是,在MongoVUE中,我看到它存储了文档hatenames,但是为了价值,它只是空白,这是它的图像:
所以价值只是空白。这使我无法在数据库中找到它。我尝试了以下内容:collection.findOne( { queryObject : null }
,这将始终返回我的数据库中的第一个键,可能是因为值为空,但无论我搜索什么,即使我不搜索它也会返回hatenames为了它。我已经在mongodb中搜索并阅读了很多关于find但我必须遗漏的东西,因为我发现的唯一其他选项是collection.findOne( {queryObject : {$exists : true } }
但是这个选项永远找不到任何东西。如果我只能做db.collection.findOne( queryObject )
,这一切都会很容易,但这不起作用,它说'查询选择器必须是一个对象'。我应该如何找到它?
2)如果您不介意的话,另外一个额外的问题是,对于大约2000万个将根据名称进行查询的文档,最好只拥有1个数据库吗?或者我应该用字母拆分并拥有27个数据库?或者更疯狂,有27x27并且前两个字母的名字?最后一点有点矫枉过正,但我想问。
欢迎任何其他提示,谢谢阅读。