标签: mongoose

用于node.js的mongoose的十进制/浮点数

我在node.js/mongoDB/mongoose上开始我的第一个测试应用程序,这是一个非常简单的应用程序,旨在创建数据库记录并检索它们.

我创建了一个模型:

var Car = new Schema({
    brand : String,
    speed  : Number,
    date  :  { type: Date, default: Date.now }
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,除了我希望能够为速度而不是整数提供浮点值.我尝试了Decimal和Float,但没有一个正在工作.我也没有在文档中找到.

任何的想法 ?

mongoose mongodb node.js

35
推荐指数
3
解决办法
5万
查看次数

如果存在,如何更新否则插入新文件?

如果存在则如何更新否则在javascript/node.js中插入新文档?我得到函数字典的参数,如果字典包含_id应该更新,否则在远程服务器上插入(我通过mongoose与远程服务器连接,我有要插入/更新的Person模式).

mongoose mongodb

35
推荐指数
4
解决办法
4万
查看次数

使用mongoose在mongodb中设置集合的到期时间

以下是可以通过mongo终端设置集合的到期时间(TTL)的命令:

db.log.events.ensureIndex( { "status": 1 }, { expireAfterSeconds: 3600 } )
Run Code Online (Sandbox Code Playgroud)

如何使用mongoose从Node.js中的代码执行此操作?

mongoose mongodb node.js

34
推荐指数
3
解决办法
4万
查看次数

Mongoose查询返回什么不匹配?

阅读Mongoose文档我有点困惑.

如果我运行猫鼬其中没有匹配的文档集合中的查询,什么都值err,并results在回调函数callback(err, results)?我只是不知道Mongoose认为是什么"错误".作为一名数学家,返回空集(即results数组为空)似乎完全有效,不应该是"错误" - 查询执行正常,没有匹配的文档.另一方面,有些人可能认为这是"错误".来自mongoose docs,要么:

  1. err= null,results= []
  2. err= null,results= null
  3. err=错误文档,results= null

database mongoose mongodb node.js

34
推荐指数
2
解决办法
2万
查看次数

(node:63208)不推荐使用DeprecationWarning:collection.ensureIndex.请改用createIndexes

这个错误来自哪里?我没有在任何地方使用ensureIndexcreateIndex在我的Nodejs应用程序中.我正在使用纱线包经理.

这是我的代码 index.js

import express from 'express';
import path from 'path';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import Promise from 'bluebird';

dotenv.config();
mongoose.Promise = Promise;
mongoose.connect('mongodb://localhost:27017/bookworm', { useNewUrlParser: true });

const app = express();
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

34
推荐指数
1
解决办法
3万
查看次数

如果找不到.find()mongoose,请做一些事情

我将一些数据存储在mongodb中并使用js/nodejs和mongoose访问它.我可以使用.find()来查找数据库中的内容,这不是问题.问题是如果没有什么,我想做别的事.目前这正是我正在尝试的:

UserModel.find({ nick: act.params }, function (err, users) {
  if (err) { console.log(err) };
  users.forEach(function (user) {
    if (user.nick === null) {
      console.log('null');
    } else if (user.nick === undefined) {
      console.log('undefined');
    } else if (user.nick === '') {
      console.log('empty');
    } else {
      console.log(user.nick);
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

当我做一些act.params不会出现在缺口索引中时,这些都不会触发.当发生这种情况时,我根本没有得到任何控制台,但我确实让user.nick在实际存在的情况下正常登录.我只是试着反过来这样做:

UserModel.find({ nick: act.params }, function (err, users) {
  if (err) { console.log('noooope') };
  users.forEach(function (user) {
    if (user.nick !== '') {
      console.log('null');
    } else {
      console.log('nope');
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

但这仍然没有记录nope.我在这里错过了什么?

如果它没有找到它,它只是跳过查找调用中的所有内容,这很好,除非我之后需要做的事情,如果它不存在我不想做的话.:/

javascript mongoose mongodb node.js

33
推荐指数
3
解决办法
4万
查看次数

Mongoose __v属性 - 隐藏?

Mongoose在Schema中添加了一个'__v'属性用于版本控制 - 是否可以全局禁用它或全局隐藏所有查询?

mongoose

33
推荐指数
7
解决办法
3万
查看次数

使用2个字段进行猫鼬自定义验证

我想使用mongoose自定义验证来验证endDate是否大于startDate.如何访问startDate值?使用this.startDate时,它不起作用; 我得到了不确定.

var a = new Schema({
  startDate: Date,
  endDate: Date
});

var A = mongoose.model('A', a);

A.schema.path('endDate').validate(function (value) {
  return diff(this.startDate, value) >= 0;
}, 'End Date must be greater than Start Date');
Run Code Online (Sandbox Code Playgroud)

diff 是一个比较两个日期的函数.

mongoose mongodb node.js express

33
推荐指数
5
解决办法
2万
查看次数

为什么我收到错误"试图打开未关闭的连接."?

我正在尝试通过mongoose将我的节点应用程序连接到mongodb.它似乎正在工作,因为我可以添加文档,但我得到错误{ [Error: Trying to open unclosed connection.] state: 2 }.

我创建了一个非常简单的应用程序,只是为了确保在连接我的实际应用程序之前一切正常.

这是我的简单应用程序:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var timeSchema = new Schema({ timestamp: String });
var Time = mongoose.model('Time', timeSchema);

mongoose.connect('mongodb://localhost/mydb');

var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error: '));
db.once('open', function () {

  var testA = new Test({ timestamp: Date() });

});
Run Code Online (Sandbox Code Playgroud)

我也试过添加db.close()到最后,但它没有任何区别.

这是在Ubuntu 14.04 VPS上运行的:

  • Node.js v0.10.3
  • MongoDB 2.6.3
  • 猫鼬1.4.21

mongoose node.js node-mongodb-native

33
推荐指数
2
解决办法
2万
查看次数

DeprecationWarning:不推荐使用collection.findAndModify.请改用findOneAndUpdate,findOneAndReplace或findOneAndDelete?

我正在使用猫鼬findOneAndUpdate但仍然得到错误,

DeprecationWarning:不推荐使用collection.findAndModify.请改用findOneAndUpdate,findOneAndReplace或findOneAndDelete.

但我甚至没有使用findAndModify,为什么它将我的查询转换为findAndModify

deprecated mongoose mongodb node.js

33
推荐指数
5
解决办法
2万
查看次数