它必须是一个很简单的问题,但我不能找到一个方法来做到这一点...Node.js:如何知道某个值是否在MongoDB数据库的集合中?
我的证件,我可以以JSON格式像这样代表一个非常基本的MongoDB集合:
myDatabase.myCollection = {
{hashkey: "hashkey1",
data: "someData"
},
{hashkey: "hashkey2",
data: "someData"
},
{hashkey: "hashkey3",
data: "someData"
}
}
每个hashkey值是唯一的。
现在,我想写下面的代码中的Node.js:
// I use npm mongodb, sounds good ?
var mongodb = require('mongodb');
// initiating connection to myDatabase...
var db = "my_database_I_just_connected_to";
var myCollection = db.collection('myCollection');
var newHashkey = "hashkeyX";
if ("newHashkey_is_already_in_myCollection") {
doSomething();
} else {
doSomethingElse();
}
我正在寻找一种方式来获得布尔“newHashkey_is_already_in_myCollection”。使用我的例子数据库:
- 如果 “hashkeyX” === “hashkey1” ------>真正
- 如果 “hashkeyX” === “hashkey5” ------>假
我一定是失明的,但是我找不到一个直接的功能。我已经尝试了很多使用选择器的方法,计算返回的文档,试图理解游标与对象......不会这样做。我最初的想法是:
if (myCollection.findOne({hashkey: "hashkeyX"}) === null) {
doSomething();
} else {
doSomethingElse();
}
1)什么是得到这样一个布尔值的好/最好的方法?
2)[可选:]你能联系我了有关此类问题的一些很好的解释?
这将是合乎逻辑的。作为Node新手,我经常犯回调错误......那么其他答案呢?将无法工作? –
检查它可以帮助的官方node.js mongodb文档:https://docs.mongodb.com/getting-started/node/client/ – alexmac
异步是强大的,美丽的,需要我改变我的想法......它完美地工作,并感谢链接,我只有npm mongodb自述...非常感谢! –