问题标签 [monk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何使用僧侣和节点从 mongodb 集合中获取项目列表
我目前无法从我的 mongodb 集合“媒体”中获取任何具有属性“标题”和“作者”的内容(其中包括,但为了说明目的,这只是两个)。以下代码打印“未定义到控制台”。
此外,当服务器启动时,我在控制台中收到以下消息:
“{ [错误:找不到模块'../build/Release/bson'] code'MODULE_NOT_FOUND'} js-bson:使用纯JS版本加载c ++ bson扩展失败”
在 Google 上搜索该错误消息后,我尝试了一些解决方案,包括安装 npm bson。只是我的代码不起作用,还是缺少模块(或两者兼而有之)?
谢谢,
音乐
编辑:按照@hassansin 对异步调用的建议,我尝试了以下操作,现在给了我“无法在 e:\Dev\BookWyrm\api\userRouter.js:16:43 读取未定义的属性 'then'
mongoHandler 是以下模块:
node.js - 使用唯一 id 选择数组元素在 mongodb 中不起作用
我的应用程序有“帖子”,其中有故事
现在我想从故事数组中的多个故事中选择一个帖子和其中一个故事
我希望它只返回帖子以及具有通过请求发送的故事 ID 的故事,但它返回故事数组中的所有故事
在这里,我正在获取该帖子的所有故事,因为我只需要具有匹配的 Id 的故事req.body.storyId
检查此问题后,我也尝试使用$elemMatch但仍然得到相同的结果
我也试过
post文件的结构如下
我也尝试使用$unwind
更新 1:我正在使用和尚,因此聚合不起作用
node.js - MongoDB更新/插入文档并增加匹配的数组元素
我将 Node.js 和 MongoDB 与 Monk.js 一起使用,我想以最小的方式进行日志记录,每小时一个文档,例如:
最终文档:
{时间:YYYY-MM-DD-HH,日志:[{action:action1,count:1},{action:action2,count:27},{action:action3,count:5}]}
应该通过增加一个值来创建完整的文档。
例如,有人在这个小时首先访问了一个网页,并且 action1 的增量应该创建以下带有查询的文档:
{时间:YYYY-MM-DD-HH,日志:[{action:action1,count:1}]}
在这一小时内,其他用户访问了其他网页,并且文档应扩展至:
{时间:YYYY-MM-DD-HH,日志:[{action:action1,count:1},{action:action2,count:1}]}
并且计数中的值应该在访问不同的网页时增加。
目前我为每个动作创建一个文档:
tracking.update({ time: moment().format('YYYY-MM-DD_HH'), action: action, info: info }, { $inc: {count: 1} }, { upsert: true }, function (呃){}
这对mongo.js / mongodb有可能吗?
编辑: 谢谢。您的解决方案看起来干净而优雅,但看起来我的服务器无法处理它,或者我无法让它工作。
我写了一个非常肮脏的解决方案,以动作名称为关键:
tracking.update({ time: time, ts: ts}, JSON.parse('{ "$inc": {"'+action+'": 1}}') , { upsert: true }, function (err) { });
mongodb - 使用和尚在 mongodb 中仅选择两个字段
我的文档中有大约 20 个字段
我只想选择 2 个字段并忽略其他字段
我按照这里的建议尝试了以下代码
但它返回所有领域。我只想获得名称和地区。
即我有姓名、地区、国家、密码、电话号码、电子邮件ID、照片和许多其他字段。我只想选择名称和地区。
PS我正在寻找除将所有其他字段名称设为0以外的方法
我正在使用和尚
javascript - mongodb插入是否创建新模式
我有一个已经在运行和存储数据的现有 mongoDB 服务器,可以说它包含集合:“ name ”和“ id ”。我使用insert
命令存储这些集合。现在我需要添加一个新集合,让我们说“地址”。我也可以使用简单地添加“地址”集合insert
吗?每次我使用mongoDB都会创建一个新模式insert
还是只是更新模式?我的意思是,mongoDB 会创建一个包含上面三个的新 模式,还是只会用新的模式更新现有的模式?用现有代码更好地解释自己:
现在我想添加一个新参数var env
,然后像这样插入:
如果我使用更新后的代码将起作用(假设time_stamp存在):
谢谢!
mongodb - selecting required fields in mongodb using monk
I am able to retrieve only selected fields in mongodb using Monk using the below method
This works fine, but i am facing issues when i add one more option in the query it throws fn should be a function
error as it expects third parameter to be success callback function
I get this error when i try
I tried using on success function but still got the same error
javascript - mongo / 僧侣 - 不解雇 promise.done?
我正在使用 mongo/monk 来尝试获得减少一些 CB 丑陋的承诺,但它似乎会产生更多不寻常的问题来调试(“现在你有两个问题”)。
基于: https ://gentlenode.com/journal/node-4-monk-cheatsheet/45
我有一个小例程来清除集合并插入一些数据,但是 on.complete 或 on.success 没有触发
还有其他原因内部on("success")
没有触发吗?如果 spartan https://github.com/Automattic/monk#promises,文档看起来很清楚
node.js - 用 Q 迭代
我在 MongoDB 中有这个集合(为简洁起见,我省略了_id
s):
我需要对每个我无法处理的文档进行一些处理db.update()
。因此,简而言之,我需要做的是一次检索一个文档,在 Node 中处理它并将其保存回 Mongo。
我正在使用 Monk 库,并使用 Q 表示承诺。这是我所做的——为简洁起见,我没有包括处理/保存位:
我希望这段代码能打印出来:
但它实际上打印出来:
我究竟做错了什么?
node.js - MongoDB $elemMatch 投影被忽略
我正在使用 Node.js、Koa、MongoDB、Monk。
当我在查询中使用 $elemMatch 时,它工作正常,但在投影中它被忽略了。
我有这样的数据
而且我要:
具有“邮政编码”的文件:“63109”
并且学生数组应仅包含“studentId”为“2”的子文档(如果存在)。
即我想要这个:
但是我在“students”数组中获取了每个子文档。似乎 $elemMatch 投影被忽略了。
我正在使用的查询:
有没有办法做到这一点?
PS我正在使用co-monk。
node.js - 如何用僧侣而不是猫鼬来做passport.js?
我从和尚开始而不是猫鼬 - 我真的很乐意保持这种状态!
我的具体问题:如何使用僧侣转移或更好地“适应”以下功能 - 这存在于很多 node/mongoose/passport.js 教程中?
这是猫鼬的片段:
// 应用程序/模型/user.js
// 为我们的用户模型定义模式
// 生成哈希
// 检查密码是否有效
// 为用户创建模型并将其公开给我们的应用程序
好吧,我已经有一个和尚模式,但是如何继续呢?任何人都可以给我一个提示,让我有两个 bcrypt 功能和模型创建和与和尚回传的等价物吗?