小编Lou*_*is 的帖子

MongoDB:并非使用$ geoNear从查询返回所有结果

我收到了这个问题:

 exports.search = (req, res) => {

  let lat1 = req.body.lat;
  let lon1 = req.body.lng;
  let page = req.body.page || 1;
  let perPage = req.body.perPage || 10;
  let radius = req.body.radius || 100000; // This is not causing the issue, i can remove it and the issue is still here


  var options = { page: page, limit: perPage, sortBy: { updatedDate: -1 } }

  let match = {}

  var aggregate = null;

  if (lat1 && lon1) {

    aggregate = Tutor.aggregate([ …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

7
推荐指数
1
解决办法
549
查看次数

GridFS:如何在 <img/> 标签中显示 readstream.pipe(res) 的结果?

我使用 MongoDB 和 GridFS 来存储图像。我有这条路线从数据库检索图像:

\n
app.get("/images/profile/:uId", function (req, res) {\nlet uId = req.params.uId;\nconsole.log(uId)\ngfs.files.findOne(\n  {\n    "metadata.owner": uId,\n    "metadata.type": 'profile'\n  }\n  , function (err, file) {\n    if (err || !file) {\n      return res.status(404).send({ error: 'Image not found' });\n    }\n    var readstream = gfs.createReadStream({ filename: file.filename });\n    readstream.on("error", function (err) {\n      res.send("Image not found");\n    });\n    readstream.pipe(res);\n  });\n});\n
Run Code Online (Sandbox Code Playgroud)\n

这会返回类似的内容:

\n
\xef\xbf\xbdPNG\n\n\nIHDR\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd]\xef\xbf\xbdbKGD\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcc\xbf   pHYs\n\xef\xbf\xbd\n\xef\xbf\xbdB(\xef\xbf\xbdxtIME\xef\xbf\xbd  -u\xef\xbf\xbd\xef\xbf\xbd~IDATx\xef\xbf\xbd\xef\xbf\xbdi|TU\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJDV\xef\xbf\xbdfH\xef\xbf\xbd0\xef\xbf\xbd :-\nH_\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd03`\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n(\xef\xbf\xbd\xef\xbf\xbd-\xef\xbf\xbdq{U[\xef\xbf\xbdm\xef\xbf\xbdA\xef\xbf\xbd\xef\xbf\xbdAQ\xef\xbf\xbdVZ\xef\xbf\xbd\xd2\xa2bP\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd@K@\xef\xbf\xbd\xef\xbf\xbdCB\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbdT\xef\xbf\xbd[\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"U\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbd{\xef\xbf\xbds\xef\xbf\xbd9\xef\xbf\xbd  \n\xef\xbf\xbd+)@e\xdb\xbf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd{\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,?\xef\xbf\xbdT.S\xef\xbf\xbd\xef\xbf\xbdxL\xd6\x9fx&@\xef\xbf\xbd0TSFp7\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xca\x81\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA!_\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbdh\xef\xbf\xbd \nz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdod\xef\xbf\xbdG\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYzV\xef\xbf\xbd?e\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@P\xef\xbf\xbd,\xef\xbf\xbd{\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdZ\xef\xbf\xbdl\\vc\xef\xbf\xbdN\xd3\xb2\xef\xbf\xbd?\nn\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbdr\xef\xbf\xbd.......\n
Run Code Online (Sandbox Code Playgroud)\n

看来我正确地得到了 png 。那么如何在 img 标签中显示它呢?

\n

html png mongodb gridfs

5
推荐指数
1
解决办法
2925
查看次数

Webpack 分块。没有内容出现 - 块未加载

这一天我一直在努力解决这个烦人的问题,但我敢肯定,这是一个简单的问题。我试图将我的bundle.js分成多个块以优化网站加载时间。

这是我的webpack.config文件:

module.exports = {
devServer: {
historyApiFallback: true
},
entry: {
index: ["./src/index.js"],
vendor: [
  "react",
  "react-dom",
  "react-redux",
  "react-router",
  "react-router-dom",
  "redux"
]
},
output: {
path: __dirname + '/public/views',
filename: "[name].js",
publicPath: "/views/"
},
module: {
loaders: [
  {
    test: /\.js$/,
    loader: "babel-loader",
    exclude: [/node_modules/, /pdfmake.js$/]
  },
  {
    test: /\.json$/,
    loader: "json-loader"
  }
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
  name: "vendor",
  filename: "vendor.js",
  minChunks: Infinity
}),
new webpack.optimize.CommonsChunkPlugin({
  name: "meta",
  chunks: ["vendor"],
  filename: "meta.js"
}), …
Run Code Online (Sandbox Code Playgroud)

javascript chunking chunks reactjs webpack

5
推荐指数
1
解决办法
4216
查看次数

React & React-router 异步组件安装多次(componentDidMount 调用多次)

我正在使用 Webpack 3.7.1 和 React 15.6.1,并且动态加载不同的组件。

我做了什么

  • 使用AsyncComponentimport()异步生成块并加载组件
  • 正确配置webpack.config 文件以便创建块(代码分割)

问题

  • 组件被重新渲染(安装)多次。如果我在任何组件的任何 componentDidMount() 中控制台记录某些内容,它会在我的控制台中出现 2 次或更多次!以前没有这样做:当我只是正常导入组件时......

我更改为异步组件之前的行为

  • 组件已正确加载并且仅安装一次......

我的 Webpack.config 文件

module.exports = {
  devServer: {
    historyApiFallback: true
  },
  entry: {
    app:"./src/index.js",
    vendor: [
      "axios",
      "react",
      "react-dom",
      "react-redux",
      "react-router",
      "react-router-dom",
      "redux"
    ]
  },
  output: {
    path: __dirname + '/public/views',
    filename: '[name].js',
    chunkFilename: '[chunkhash].chunk.js',
    publicPath: "/views/"
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        loader: "babel-loader",
        exclude: [/node_modules/, /pdfmake.js$/]
      },
      {
        test: /\.json$/,
        loader: "json-loader"
      } …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous reactjs react-router react-router-v4

5
推荐指数
1
解决办法
1841
查看次数

旧版本的 MongoDB 中是否有 $expr 的替代方案?

在 React.js 应用程序的 Node.js 后端中,我使用

"mongodb" (as db.version returns): "3.4.10",
"mongoose": "5.3.4"
Run Code Online (Sandbox Code Playgroud)

问题是我无法将 $expr 与 mongoDB 版本 < 3.6 一起使用。由于这个问题(不推荐使用的方法等),升级 mongoDB 版本似乎需要付出很大的努力。所以我想知道是否有一种方法可以在不使用 $expr 的情况下完成我想做的事情?

这是代码:

match.$expr = {
            $lt: ["$distance", "$range"] // "calculated_distance < tutor_range"
         }
Run Code Online (Sandbox Code Playgroud)

你知道怎么做吗?这是完整的方法,如果您想了解更多详细信息。

exports.search = (req, res) => {
  let lat1 = req.body.lat;
  let lon1 = req.body.lng;
  let page = req.body.page || 1;
  let perPage = req.body.perPage || 10;
  let radius = req.body.radius || 10000;

  let levelsIn = req.body.levels && req.body.levels.length !== 0 ? req.body.levels.map(level => …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js aggregation-framework

2
推荐指数
1
解决办法
1244
查看次数