以下数据存储在我的收藏中
[
{ "_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),"name":"John", "rank":1, "year":1998 ,"class":"a" ,"total":"1128" },
{ "_id" : ObjectId("feff553d95d6b4dd19e171dd"),"name":"Sherif", "rank":1, "year":1999 ,"class":"b" ,"total":"1163"},
{ "_id" : ObjectId("9fef53dd6b4dd1171f55dd9e"),"name":"shravan", "rank":1, "year":2000 ,"class":"b" ,"total":"1113"},
{ "_id" : ObjectId("117153d9fef6b4dddd9ef55d"),"name":"aneesh", "rank":1, "year":2001 ,"class":"d" ,"total":"1145"},
{ "_id" : ObjectId("dd9e53feff55d6b4dd1171d9"),"name":"abdul", "rank":1, "year":1997 ,"class":"a" ,"total":"1100"},
]
我为find和[{“name”:“John”,“rank”:1,“year”:1998},{“name”:“Sherif”,“rank”:1,“year”:1999}]编写了api
这是我从req获得的数据。我在这里提到的身体是一个疑问
router.post('/users',function(req,res){
var query =[{ "name":"John", "rank":1, "year":1998 },{ "name":"Sherif", "rank":1, "year":1999 }]
User.find(query, function(err, result) {
if (err) throw err;
console.log(result);
res.json(result)
});
我希望这个res.json应该只返回这两个文档
[
{ "_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),"name":"John", "rank":1, "year":1998 ,"class":"a" ,"total":"1128" },
{ "_id" : ObjectId("feff553d95d6b4dd19e171dd"),"name":"Sherif", "rank":1, "year":1999 ,"class":"b" ,"total":"1163"}]
在mongoDB我们可以这样写
db.users.find({rank:1, name:{$in:["John","Sherif"]}, year:{$in:[1998,1999]}})
我想要nodejs中的解决方案,因为根据请求我们需要找到帮助我
虽然有几个人回答了,但我相信完整的方法是:
router.post('/users',function(req, res, next) {
// req.body = [{ "name":"John", "rank":1, "year":1998 },{ "name":"Sherif", "rank":1, "year":1999 }]
// mapping users to each array
const query = { $or: req.body };
// execute query
User.find(query, function(err, result) {
if (err) next(err);
console.log(result);
res.json(result);
});
});
您的查找查询应该如下所示:
db.collection.find({rank:1, name:{$in:["John","Sherif"]}, year:{$in:[1998,1999]}})
结果将是:
/* 1 */
{
"_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),
"name" : "John",
"rank" : 1,
"year" : 1998,
"class" : "a",
"total" : "1128"
}
/* 2 */
{
"_id" : ObjectId("feff553d95d6b4dd19e171dd"),
"name" : "Sherif",
"rank" : 1,
"year" : 1999,
"class" : "b",
"total" : "1163"
}
尝试使用猫鼬$或
运算符
var query = {
$or : [
{
"name":"John",
"rank":1,
"year":1998
},
{
"name":"Sherif",
"rank":1, "year":1999
}
]
}
我正在尝试创建一个发送邮件的应用程序。它获取用户输入(To、Subject、Message),单击表单按钮发送邮件,并将该邮件存储在mongodb上 前端 后端 > 架构 常量mongoose=require(“mongoose”); const UserSchema=new mongoose.schema({ 收件人:{type:String,},抄送:{type:String,},密件抄送:{
我的数据库中有大量文档,我想知道如何浏览所有文档并更新它们,每个文档都有不同的值。
本文向大家介绍如何使用LIMIT查询MongoDB?,包括了如何使用LIMIT查询MongoDB?的使用技巧和注意事项,需要的朋友参考一下 使用limit()方法查询MongoDB。让我们创建一个包含文档的集合 在find方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是在MongoDB中使用LIMIT的查询- 这将产生以下输出-
如何使用formdata创建邮政服务? 我用Axios发送了formdata。但是,节点快递服务器上的“req.body.title”值是空的。所以现在我用以下格式发送抓取。但是我需要将文件上传到服务器,所以我想用formData发送它。 我使用append和new FormData()编写了新数据,我检查了FormData在React上包含一个值。但是,节点快递服务器没有进入正文。 请让我知道该
我正在编写一个使用React作为前端的程序,以及一个用于后端的Express/Node API,然后在MongoDB数据库中执行CRUD操作。现在,我正在使用本地JS抓取()API在我的前端执行GET/POST操作。GET请求工作正常,但是我的POST请求似乎不工作。在我的前端,我有一个表单和一个表单提交处理程序,如下所示: 然后在端口5002上的Express API上,我有: 然而,当表单提交
问题内容: 我想用SQLlike查询来查询一些东西: 我如何在MongoDB中实现相同目标?我like在文档中找不到运算符。 问题答案: 那必须是: 或类似: 您正在寻找某种在某处包含“ m”的东西(SQL的运算符等效于Regexp的),而不是在字符串的开头固定了“ m”的东西。 注意: mongodb使用的正则表达式比sql中的“ LIKE”更强大。使用正则表达式,您可以创建您想像的任何模式。