javascript - Mongodb Node.js 通过动态键查找值

标签 javascript node.js mongodb

我正在尝试从 mongodb 中查找键的值,但到目前为止还没有成功。这是我的示例输出:

{ "_id" : { "$oid" : "52cfc91adbffcbe08ccf94b0"} , "customerInfo" : "value"}

假设我给出“customerInfo”,我应该能够获得“value”。请注意,customerInfo 是动态键,它将由用户传递,因此我很不幸无法对代码中的值进行硬编码。我尝试使用下面的代码,

db.urlmapper.find({urlmapper: key}, function(err, users) {
      users.forEach( function(val) {
        console.log("found data: " + JSON.stringify(val));
      } );
    });

哪里,

  • mapper == 从数据库返回的集合
  • key == 动态 key (在本例中为 customerInfo)

它不返回任何数据。有人可以帮助我如何实现这一目标吗?因为我对 MongoDB 非常初学者。

最佳答案

您拥有的代码正在对象上设置一个名为 urlmapper 的键。相反,您需要使用变量 urlmapper 的值。像这样的事情:

var query = {};
query[urlmapper] = key;

db.urlmapper.find(query, function(err, users) {
  users.forEach(function(val) {
    console.log("found data: " + JSON.stringify(val));
  });
});

关于javascript - Mongodb Node.js 通过动态键查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21045022/

相关文章:

Javascript:从对象中删除所有鼠标悬停事件

javascript - 重新声明的 javascript 全局变量覆盖 IE 中的旧值

javascript - Node.js 服务器将数据发送到 Backbone 模型

performance - MongoDB:按名称未知的子文档排序

javascript - 在聚合中的嵌入文档上使用 $match

javascript - 从下拉表单中选择加载页面

javascript - Object.values 未创建 "proper"数组

javascript - promise 。 return resolve() 和 resolve() 有什么区别?

mysql - 即将发生的事件的日期更改的 SQL 查询

node.js - mongoose:使用 $pull 删除嵌入文档数组中的值(MongoDB 3.4 版本)